@airgap/tezos 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 (370) hide show
  1. package/LICENSE.md +7 -0
  2. package/actions/GetKtAccountsAction.d.ts +8 -0
  3. package/actions/GetKtAccountsAction.js +85 -0
  4. package/actions/GetKtAccountsAction.js.map +1 -0
  5. package/airgap-coinlib-tezos.min.js +103587 -0
  6. package/constants.d.ts +18 -0
  7. package/constants.js +28 -0
  8. package/constants.js.map +1 -0
  9. package/index.d.ts +46 -0
  10. package/index.js +103 -0
  11. package/index.js.map +1 -0
  12. package/package.json +70 -0
  13. package/protocol/TezosAddress.d.ts +11 -0
  14. package/protocol/TezosAddress.js +102 -0
  15. package/protocol/TezosAddress.js.map +1 -0
  16. package/protocol/TezosCryptoClient.d.ts +15 -0
  17. package/protocol/TezosCryptoClient.js +152 -0
  18. package/protocol/TezosCryptoClient.js.map +1 -0
  19. package/protocol/TezosProtocol.d.ts +349 -0
  20. package/protocol/TezosProtocol.js +1853 -0
  21. package/protocol/TezosProtocol.js.map +1 -0
  22. package/protocol/TezosProtocolOptions.d.ts +29 -0
  23. package/protocol/TezosProtocolOptions.js +114 -0
  24. package/protocol/TezosProtocolOptions.js.map +1 -0
  25. package/protocol/TezosUtils.d.ts +40 -0
  26. package/protocol/TezosUtils.js +296 -0
  27. package/protocol/TezosUtils.js.map +1 -0
  28. package/protocol/contract/TezosContract.d.ts +52 -0
  29. package/protocol/contract/TezosContract.js +509 -0
  30. package/protocol/contract/TezosContract.js.map +1 -0
  31. package/protocol/contract/TezosContractCall.d.ts +10 -0
  32. package/protocol/contract/TezosContractCall.js +23 -0
  33. package/protocol/contract/TezosContractCall.js.map +1 -0
  34. package/protocol/contract/TezosContractEntrypoint.d.ts +8 -0
  35. package/protocol/contract/TezosContractEntrypoint.js +27 -0
  36. package/protocol/contract/TezosContractEntrypoint.js.map +1 -0
  37. package/protocol/contract/TezosContractStorage.d.ts +7 -0
  38. package/protocol/contract/TezosContractStorage.js +16 -0
  39. package/protocol/contract/TezosContractStorage.js.map +1 -0
  40. package/protocol/contract/remote-data/TezosContractRemoteDataFactory.d.ts +11 -0
  41. package/protocol/contract/remote-data/TezosContractRemoteDataFactory.js +34 -0
  42. package/protocol/contract/remote-data/TezosContractRemoteDataFactory.js.map +1 -0
  43. package/protocol/contract/remote-data/TezosStorageRemoteData.d.ts +12 -0
  44. package/protocol/contract/remote-data/TezosStorageRemoteData.js +151 -0
  45. package/protocol/contract/remote-data/TezosStorageRemoteData.js.map +1 -0
  46. package/protocol/domains/TezosDomains.d.ts +20 -0
  47. package/protocol/domains/TezosDomains.js +306 -0
  48. package/protocol/domains/TezosDomains.js.map +1 -0
  49. package/protocol/fa/TezosBTC.d.ts +12 -0
  50. package/protocol/fa/TezosBTC.js +107 -0
  51. package/protocol/fa/TezosBTC.js.map +1 -0
  52. package/protocol/fa/TezosBTCtez.d.ts +10 -0
  53. package/protocol/fa/TezosBTCtez.js +54 -0
  54. package/protocol/fa/TezosBTCtez.js.map +1 -0
  55. package/protocol/fa/TezosCTez.d.ts +10 -0
  56. package/protocol/fa/TezosCTez.js +51 -0
  57. package/protocol/fa/TezosCTez.js.map +1 -0
  58. package/protocol/fa/TezosDOGA.d.ts +10 -0
  59. package/protocol/fa/TezosDOGA.js +51 -0
  60. package/protocol/fa/TezosDOGA.js.map +1 -0
  61. package/protocol/fa/TezosETHtz.d.ts +9 -0
  62. package/protocol/fa/TezosETHtz.js +72 -0
  63. package/protocol/fa/TezosETHtz.js.map +1 -0
  64. package/protocol/fa/TezosFA1Protocol.d.ts +27 -0
  65. package/protocol/fa/TezosFA1Protocol.js +310 -0
  66. package/protocol/fa/TezosFA1Protocol.js.map +1 -0
  67. package/protocol/fa/TezosFA1p2Protocol.d.ts +8 -0
  68. package/protocol/fa/TezosFA1p2Protocol.js +117 -0
  69. package/protocol/fa/TezosFA1p2Protocol.js.map +1 -0
  70. package/protocol/fa/TezosFA2Protocol.d.ts +58 -0
  71. package/protocol/fa/TezosFA2Protocol.js +449 -0
  72. package/protocol/fa/TezosFA2Protocol.js.map +1 -0
  73. package/protocol/fa/TezosFAProtocol.d.ts +65 -0
  74. package/protocol/fa/TezosFAProtocol.js +510 -0
  75. package/protocol/fa/TezosFAProtocol.js.map +1 -0
  76. package/protocol/fa/TezosFAProtocolOptions.d.ts +54 -0
  77. package/protocol/fa/TezosFAProtocolOptions.js +228 -0
  78. package/protocol/fa/TezosFAProtocolOptions.js.map +1 -0
  79. package/protocol/fa/TezosKolibriUSD.d.ts +10 -0
  80. package/protocol/fa/TezosKolibriUSD.js +74 -0
  81. package/protocol/fa/TezosKolibriUSD.js.map +1 -0
  82. package/protocol/fa/TezosPlanty.d.ts +10 -0
  83. package/protocol/fa/TezosPlanty.js +51 -0
  84. package/protocol/fa/TezosPlanty.js.map +1 -0
  85. package/protocol/fa/TezosQUIPU.d.ts +10 -0
  86. package/protocol/fa/TezosQUIPU.js +54 -0
  87. package/protocol/fa/TezosQUIPU.js.map +1 -0
  88. package/protocol/fa/TezosSIRS.d.ts +10 -0
  89. package/protocol/fa/TezosSIRS.js +51 -0
  90. package/protocol/fa/TezosSIRS.js.map +1 -0
  91. package/protocol/fa/TezosStaker.d.ts +10 -0
  92. package/protocol/fa/TezosStaker.js +74 -0
  93. package/protocol/fa/TezosStaker.js.map +1 -0
  94. package/protocol/fa/TezosUBTC.d.ts +10 -0
  95. package/protocol/fa/TezosUBTC.js +54 -0
  96. package/protocol/fa/TezosUBTC.js.map +1 -0
  97. package/protocol/fa/TezosUDEFI.d.ts +10 -0
  98. package/protocol/fa/TezosUDEFI.js +54 -0
  99. package/protocol/fa/TezosUDEFI.js.map +1 -0
  100. package/protocol/fa/TezosUSD.d.ts +10 -0
  101. package/protocol/fa/TezosUSD.js +74 -0
  102. package/protocol/fa/TezosUSD.js.map +1 -0
  103. package/protocol/fa/TezosUSDT.d.ts +10 -0
  104. package/protocol/fa/TezosUSDT.js +54 -0
  105. package/protocol/fa/TezosUSDT.js.map +1 -0
  106. package/protocol/fa/TezosUUSD.d.ts +6 -0
  107. package/protocol/fa/TezosUUSD.js +31 -0
  108. package/protocol/fa/TezosUUSD.js.map +1 -0
  109. package/protocol/fa/TezosWRAP.d.ts +10 -0
  110. package/protocol/fa/TezosWRAP.js +54 -0
  111. package/protocol/fa/TezosWRAP.js.map +1 -0
  112. package/protocol/fa/TezosWrapped.d.ts +10 -0
  113. package/protocol/fa/TezosWrapped.js +74 -0
  114. package/protocol/fa/TezosWrapped.js.map +1 -0
  115. package/protocol/fa/TezosYOU.d.ts +6 -0
  116. package/protocol/fa/TezosYOU.js +31 -0
  117. package/protocol/fa/TezosYOU.js.map +1 -0
  118. package/protocol/indexerClient/TezosIndexerClient.d.ts +25 -0
  119. package/protocol/indexerClient/TezosIndexerClient.js +251 -0
  120. package/protocol/indexerClient/TezosIndexerClient.js.map +1 -0
  121. package/protocol/indexerClient/TezosProtocolIndexerClient.d.ts +26 -0
  122. package/protocol/indexerClient/TezosProtocolIndexerClient.js +3 -0
  123. package/protocol/indexerClient/TezosProtocolIndexerClient.js.map +1 -0
  124. package/protocol/kt/TezosKtAddress.d.ts +5 -0
  125. package/protocol/kt/TezosKtAddress.js +72 -0
  126. package/protocol/kt/TezosKtAddress.js.map +1 -0
  127. package/protocol/kt/TezosKtProtocol.d.ts +30 -0
  128. package/protocol/kt/TezosKtProtocol.js +317 -0
  129. package/protocol/kt/TezosKtProtocol.js.map +1 -0
  130. package/protocol/sapling/TezosSaplingAddress.d.ts +12 -0
  131. package/protocol/sapling/TezosSaplingAddress.js +134 -0
  132. package/protocol/sapling/TezosSaplingAddress.js.map +1 -0
  133. package/protocol/sapling/TezosSaplingCryptoClient.d.ts +34 -0
  134. package/protocol/sapling/TezosSaplingCryptoClient.js +241 -0
  135. package/protocol/sapling/TezosSaplingCryptoClient.js.map +1 -0
  136. package/protocol/sapling/TezosSaplingProtocol.d.ts +130 -0
  137. package/protocol/sapling/TezosSaplingProtocol.js +1101 -0
  138. package/protocol/sapling/TezosSaplingProtocol.js.map +1 -0
  139. package/protocol/sapling/TezosSaplingProtocolOptions.d.ts +43 -0
  140. package/protocol/sapling/TezosSaplingProtocolOptions.js +78 -0
  141. package/protocol/sapling/TezosSaplingProtocolOptions.js.map +1 -0
  142. package/protocol/sapling/TezosShieldedTezProtocol.d.ts +9 -0
  143. package/protocol/sapling/TezosShieldedTezProtocol.js +109 -0
  144. package/protocol/sapling/TezosShieldedTezProtocol.js.map +1 -0
  145. package/protocol/sapling/node/TezosSaplingNodeClient.d.ts +8 -0
  146. package/protocol/sapling/node/TezosSaplingNodeClient.js +78 -0
  147. package/protocol/sapling/node/TezosSaplingNodeClient.js.map +1 -0
  148. package/protocol/sapling/utils/TezosSaplingBookkeeper.d.ts +34 -0
  149. package/protocol/sapling/utils/TezosSaplingBookkeeper.js +586 -0
  150. package/protocol/sapling/utils/TezosSaplingBookkeeper.js.map +1 -0
  151. package/protocol/sapling/utils/TezosSaplingEncoder.d.ts +22 -0
  152. package/protocol/sapling/utils/TezosSaplingEncoder.js +158 -0
  153. package/protocol/sapling/utils/TezosSaplingEncoder.js.map +1 -0
  154. package/protocol/sapling/utils/TezosSaplingForger.d.ts +26 -0
  155. package/protocol/sapling/utils/TezosSaplingForger.js +278 -0
  156. package/protocol/sapling/utils/TezosSaplingForger.js.map +1 -0
  157. package/protocol/sapling/utils/TezosSaplingState.d.ts +17 -0
  158. package/protocol/sapling/utils/TezosSaplingState.js +260 -0
  159. package/protocol/sapling/utils/TezosSaplingState.js.map +1 -0
  160. package/protocol/types/TezosAddressCursor.d.ts +3 -0
  161. package/protocol/types/TezosAddressCursor.js +3 -0
  162. package/protocol/types/TezosAddressCursor.js.map +1 -0
  163. package/protocol/types/TezosAddressResult.d.ts +4 -0
  164. package/protocol/types/TezosAddressResult.js +3 -0
  165. package/protocol/types/TezosAddressResult.js.map +1 -0
  166. package/protocol/types/TezosBlockHeader.d.ts +13 -0
  167. package/protocol/types/TezosBlockHeader.js +3 -0
  168. package/protocol/types/TezosBlockHeader.js.map +1 -0
  169. package/protocol/types/TezosBlockMetadata.d.ts +7 -0
  170. package/protocol/types/TezosBlockMetadata.js +3 -0
  171. package/protocol/types/TezosBlockMetadata.js.map +1 -0
  172. package/protocol/types/TezosContractCode.d.ts +5 -0
  173. package/protocol/types/TezosContractCode.js +3 -0
  174. package/protocol/types/TezosContractCode.js.map +1 -0
  175. package/protocol/types/TezosOperationType.d.ts +13 -0
  176. package/protocol/types/TezosOperationType.js +18 -0
  177. package/protocol/types/TezosOperationType.js.map +1 -0
  178. package/protocol/types/TezosTransactionCursor.d.ts +3 -0
  179. package/protocol/types/TezosTransactionCursor.js +3 -0
  180. package/protocol/types/TezosTransactionCursor.js.map +1 -0
  181. package/protocol/types/TezosTransactionResult.d.ts +6 -0
  182. package/protocol/types/TezosTransactionResult.js +3 -0
  183. package/protocol/types/TezosTransactionResult.js.map +1 -0
  184. package/protocol/types/TezosWrappedOperation.d.ts +5 -0
  185. package/protocol/types/TezosWrappedOperation.js +3 -0
  186. package/protocol/types/TezosWrappedOperation.js.map +1 -0
  187. package/protocol/types/contract/BigMap.d.ts +7 -0
  188. package/protocol/types/contract/BigMap.js +3 -0
  189. package/protocol/types/contract/BigMap.js.map +1 -0
  190. package/protocol/types/contract/BigMapEnrtyFilter.d.ts +5 -0
  191. package/protocol/types/contract/BigMapEnrtyFilter.js +3 -0
  192. package/protocol/types/contract/BigMapEnrtyFilter.js.map +1 -0
  193. package/protocol/types/contract/BigMapEntry.d.ts +7 -0
  194. package/protocol/types/contract/BigMapEntry.js +3 -0
  195. package/protocol/types/contract/BigMapEntry.js.map +1 -0
  196. package/protocol/types/contract/BigMapRequest.d.ts +8 -0
  197. package/protocol/types/contract/BigMapRequest.js +3 -0
  198. package/protocol/types/contract/BigMapRequest.js.map +1 -0
  199. package/protocol/types/contract/TezosContractMetadata.d.ts +61 -0
  200. package/protocol/types/contract/TezosContractMetadata.js +3 -0
  201. package/protocol/types/contract/TezosContractMetadata.js.map +1 -0
  202. package/protocol/types/domains/TezosDomainsRecord.d.ts +8 -0
  203. package/protocol/types/domains/TezosDomainsRecord.js +3 -0
  204. package/protocol/types/domains/TezosDomainsRecord.js.map +1 -0
  205. package/protocol/types/domains/TezosDomainsReverseRecord.d.ts +5 -0
  206. package/protocol/types/domains/TezosDomainsReverseRecord.js +3 -0
  207. package/protocol/types/domains/TezosDomainsReverseRecord.js.map +1 -0
  208. package/protocol/types/fa/TezosFA2BalanceOfRequest.d.ts +4 -0
  209. package/protocol/types/fa/TezosFA2BalanceOfRequest.js +3 -0
  210. package/protocol/types/fa/TezosFA2BalanceOfRequest.js.map +1 -0
  211. package/protocol/types/fa/TezosFA2BalanceOfResponse.d.ts +5 -0
  212. package/protocol/types/fa/TezosFA2BalanceOfResponse.js +3 -0
  213. package/protocol/types/fa/TezosFA2BalanceOfResponse.js.map +1 -0
  214. package/protocol/types/fa/TezosFA2TransferRequest.d.ts +8 -0
  215. package/protocol/types/fa/TezosFA2TransferRequest.js +3 -0
  216. package/protocol/types/fa/TezosFA2TransferRequest.js.map +1 -0
  217. package/protocol/types/fa/TezosFA2UpdateOperatorRequest.d.ts +6 -0
  218. package/protocol/types/fa/TezosFA2UpdateOperatorRequest.js +3 -0
  219. package/protocol/types/fa/TezosFA2UpdateOperatorRequest.js.map +1 -0
  220. package/protocol/types/fa/TezosFATokenMetadata.d.ts +6 -0
  221. package/protocol/types/fa/TezosFATokenMetadata.js +3 -0
  222. package/protocol/types/fa/TezosFATokenMetadata.js.map +1 -0
  223. package/protocol/types/kt/TezosKtAddressCursor.d.ts +4 -0
  224. package/protocol/types/kt/TezosKtAddressCursor.js +3 -0
  225. package/protocol/types/kt/TezosKtAddressCursor.js.map +1 -0
  226. package/protocol/types/kt/TezosKtAddressResult.d.ts +5 -0
  227. package/protocol/types/kt/TezosKtAddressResult.js +3 -0
  228. package/protocol/types/kt/TezosKtAddressResult.js.map +1 -0
  229. package/protocol/types/micheline/MichelineNode.d.ts +15 -0
  230. package/protocol/types/micheline/MichelineNode.js +5 -0
  231. package/protocol/types/micheline/MichelineNode.js.map +1 -0
  232. package/protocol/types/micheline/MichelineNodeUtils.d.ts +6 -0
  233. package/protocol/types/micheline/MichelineNodeUtils.js +40 -0
  234. package/protocol/types/micheline/MichelineNodeUtils.js.map +1 -0
  235. package/protocol/types/michelson/MichelsonType.d.ts +11 -0
  236. package/protocol/types/michelson/MichelsonType.js +22 -0
  237. package/protocol/types/michelson/MichelsonType.js.map +1 -0
  238. package/protocol/types/michelson/MichelsonTypeMeta.d.ts +33 -0
  239. package/protocol/types/michelson/MichelsonTypeMeta.js +132 -0
  240. package/protocol/types/michelson/MichelsonTypeMeta.js.map +1 -0
  241. package/protocol/types/michelson/MichelsonTypeUtils.d.ts +19 -0
  242. package/protocol/types/michelson/MichelsonTypeUtils.js +249 -0
  243. package/protocol/types/michelson/MichelsonTypeUtils.js.map +1 -0
  244. package/protocol/types/michelson/generics/MichelsonList.d.ts +11 -0
  245. package/protocol/types/michelson/generics/MichelsonList.js +68 -0
  246. package/protocol/types/michelson/generics/MichelsonList.js.map +1 -0
  247. package/protocol/types/michelson/generics/MichelsonMap.d.ts +14 -0
  248. package/protocol/types/michelson/generics/MichelsonMap.js +118 -0
  249. package/protocol/types/michelson/generics/MichelsonMap.js.map +1 -0
  250. package/protocol/types/michelson/generics/MichelsonOption.d.ts +25 -0
  251. package/protocol/types/michelson/generics/MichelsonOption.js +119 -0
  252. package/protocol/types/michelson/generics/MichelsonOption.js.map +1 -0
  253. package/protocol/types/michelson/generics/MichelsonOr.d.ts +25 -0
  254. package/protocol/types/michelson/generics/MichelsonOr.js +132 -0
  255. package/protocol/types/michelson/generics/MichelsonOr.js.map +1 -0
  256. package/protocol/types/michelson/generics/MichelsonPair.d.ts +17 -0
  257. package/protocol/types/michelson/generics/MichelsonPair.js +135 -0
  258. package/protocol/types/michelson/generics/MichelsonPair.js.map +1 -0
  259. package/protocol/types/michelson/grammar/MichelsonGrammarData.d.ts +2 -0
  260. package/protocol/types/michelson/grammar/MichelsonGrammarData.js +4 -0
  261. package/protocol/types/michelson/grammar/MichelsonGrammarData.js.map +1 -0
  262. package/protocol/types/michelson/grammar/MichelsonGrammarInstruction.d.ts +1 -0
  263. package/protocol/types/michelson/grammar/MichelsonGrammarInstruction.js +4 -0
  264. package/protocol/types/michelson/grammar/MichelsonGrammarInstruction.js.map +1 -0
  265. package/protocol/types/michelson/grammar/MichelsonGrammarType.d.ts +1 -0
  266. package/protocol/types/michelson/grammar/MichelsonGrammarType.js +4 -0
  267. package/protocol/types/michelson/grammar/MichelsonGrammarType.js.map +1 -0
  268. package/protocol/types/michelson/primitives/MichelsonAddress.d.ts +15 -0
  269. package/protocol/types/michelson/primitives/MichelsonAddress.js +72 -0
  270. package/protocol/types/michelson/primitives/MichelsonAddress.js.map +1 -0
  271. package/protocol/types/michelson/primitives/MichelsonBool.d.ts +12 -0
  272. package/protocol/types/michelson/primitives/MichelsonBool.js +57 -0
  273. package/protocol/types/michelson/primitives/MichelsonBool.js.map +1 -0
  274. package/protocol/types/michelson/primitives/MichelsonBytes.d.ts +14 -0
  275. package/protocol/types/michelson/primitives/MichelsonBytes.js +75 -0
  276. package/protocol/types/michelson/primitives/MichelsonBytes.js.map +1 -0
  277. package/protocol/types/michelson/primitives/MichelsonInt.d.ts +14 -0
  278. package/protocol/types/michelson/primitives/MichelsonInt.js +72 -0
  279. package/protocol/types/michelson/primitives/MichelsonInt.js.map +1 -0
  280. package/protocol/types/michelson/primitives/MichelsonString.d.ts +14 -0
  281. package/protocol/types/michelson/primitives/MichelsonString.js +74 -0
  282. package/protocol/types/michelson/primitives/MichelsonString.js.map +1 -0
  283. package/protocol/types/michelson/primitives/MichelsonUnit.d.ts +9 -0
  284. package/protocol/types/michelson/primitives/MichelsonUnit.js +53 -0
  285. package/protocol/types/michelson/primitives/MichelsonUnit.js.map +1 -0
  286. package/protocol/types/operations/ActivateAccount.d.ts +7 -0
  287. package/protocol/types/operations/ActivateAccount.js +3 -0
  288. package/protocol/types/operations/ActivateAccount.js.map +1 -0
  289. package/protocol/types/operations/Ballot.d.ts +9 -0
  290. package/protocol/types/operations/Ballot.js +3 -0
  291. package/protocol/types/operations/Ballot.js.map +1 -0
  292. package/protocol/types/operations/Delegation.d.ts +11 -0
  293. package/protocol/types/operations/Delegation.js +3 -0
  294. package/protocol/types/operations/Delegation.js.map +1 -0
  295. package/protocol/types/operations/DoubleBakingEvidence.d.ts +8 -0
  296. package/protocol/types/operations/DoubleBakingEvidence.js +3 -0
  297. package/protocol/types/operations/DoubleBakingEvidence.js.map +1 -0
  298. package/protocol/types/operations/DoubleEndorsementEvidence.d.ts +16 -0
  299. package/protocol/types/operations/DoubleEndorsementEvidence.js +3 -0
  300. package/protocol/types/operations/DoubleEndorsementEvidence.js.map +1 -0
  301. package/protocol/types/operations/Endorsement.d.ts +6 -0
  302. package/protocol/types/operations/Endorsement.js +3 -0
  303. package/protocol/types/operations/Endorsement.js.map +1 -0
  304. package/protocol/types/operations/Origination.d.ts +13 -0
  305. package/protocol/types/operations/Origination.js +3 -0
  306. package/protocol/types/operations/Origination.js.map +1 -0
  307. package/protocol/types/operations/Proposal.d.ts +7 -0
  308. package/protocol/types/operations/Proposal.js +3 -0
  309. package/protocol/types/operations/Proposal.js.map +1 -0
  310. package/protocol/types/operations/Reveal.d.ts +11 -0
  311. package/protocol/types/operations/Reveal.js +3 -0
  312. package/protocol/types/operations/Reveal.js.map +1 -0
  313. package/protocol/types/operations/SeedNonceRevelation.d.ts +7 -0
  314. package/protocol/types/operations/SeedNonceRevelation.js +3 -0
  315. package/protocol/types/operations/SeedNonceRevelation.js.map +1 -0
  316. package/protocol/types/operations/TezosOperation.d.ts +4 -0
  317. package/protocol/types/operations/TezosOperation.js +3 -0
  318. package/protocol/types/operations/TezosOperation.js.map +1 -0
  319. package/protocol/types/operations/Transaction.d.ts +23 -0
  320. package/protocol/types/operations/Transaction.js +3 -0
  321. package/protocol/types/operations/Transaction.js.map +1 -0
  322. package/protocol/types/sapling/TezosSaplingAddressCursor.d.ts +4 -0
  323. package/protocol/types/sapling/TezosSaplingAddressCursor.js +3 -0
  324. package/protocol/types/sapling/TezosSaplingAddressCursor.js.map +1 -0
  325. package/protocol/types/sapling/TezosSaplingAddressResult.d.ts +4 -0
  326. package/protocol/types/sapling/TezosSaplingAddressResult.js +3 -0
  327. package/protocol/types/sapling/TezosSaplingAddressResult.js.map +1 -0
  328. package/protocol/types/sapling/TezosSaplingCiphertext.d.ts +8 -0
  329. package/protocol/types/sapling/TezosSaplingCiphertext.js +3 -0
  330. package/protocol/types/sapling/TezosSaplingCiphertext.js.map +1 -0
  331. package/protocol/types/sapling/TezosSaplingInput.d.ts +6 -0
  332. package/protocol/types/sapling/TezosSaplingInput.js +3 -0
  333. package/protocol/types/sapling/TezosSaplingInput.js.map +1 -0
  334. package/protocol/types/sapling/TezosSaplingOutput.d.ts +6 -0
  335. package/protocol/types/sapling/TezosSaplingOutput.js +3 -0
  336. package/protocol/types/sapling/TezosSaplingOutput.js.map +1 -0
  337. package/protocol/types/sapling/TezosSaplingStateDiff.d.ts +6 -0
  338. package/protocol/types/sapling/TezosSaplingStateDiff.js +3 -0
  339. package/protocol/types/sapling/TezosSaplingStateDiff.js.map +1 -0
  340. package/protocol/types/sapling/TezosSaplingStateTree.d.ts +7 -0
  341. package/protocol/types/sapling/TezosSaplingStateTree.js +3 -0
  342. package/protocol/types/sapling/TezosSaplingStateTree.js.map +1 -0
  343. package/protocol/types/sapling/TezosSaplingTransaction.d.ts +23 -0
  344. package/protocol/types/sapling/TezosSaplingTransaction.js +3 -0
  345. package/protocol/types/sapling/TezosSaplingTransaction.js.map +1 -0
  346. package/protocol/types/sapling/TezosSaplingTransactionCursor.d.ts +3 -0
  347. package/protocol/types/sapling/TezosSaplingTransactionCursor.js +3 -0
  348. package/protocol/types/sapling/TezosSaplingTransactionCursor.js.map +1 -0
  349. package/protocol/types/sapling/TezosSaplingTransactionResult.d.ts +6 -0
  350. package/protocol/types/sapling/TezosSaplingTransactionResult.js +3 -0
  351. package/protocol/types/sapling/TezosSaplingTransactionResult.js.map +1 -0
  352. package/protocol/types/utils.d.ts +8 -0
  353. package/protocol/types/utils.js +41 -0
  354. package/protocol/types/utils.js.map +1 -0
  355. package/readme.md +121 -0
  356. package/types/signed-transaction-tezos-sapling.d.ts +3 -0
  357. package/types/signed-transaction-tezos-sapling.js +3 -0
  358. package/types/signed-transaction-tezos-sapling.js.map +1 -0
  359. package/types/signed-transaction-tezos.d.ts +5 -0
  360. package/types/signed-transaction-tezos.js +3 -0
  361. package/types/signed-transaction-tezos.js.map +1 -0
  362. package/types/transaction-tezos.d.ts +14 -0
  363. package/types/transaction-tezos.js +3 -0
  364. package/types/transaction-tezos.js.map +1 -0
  365. package/types/unsigned-transaction-tezos-sapling.d.ts +38 -0
  366. package/types/unsigned-transaction-tezos-sapling.js +3 -0
  367. package/types/unsigned-transaction-tezos-sapling.js.map +1 -0
  368. package/types/unsigned-transaction-tezos.d.ts +8 -0
  369. package/types/unsigned-transaction-tezos.js +3 -0
  370. package/types/unsigned-transaction-tezos.js.map +1 -0
@@ -0,0 +1,586 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ 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;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.TezosSaplingBookkeeper = void 0;
62
+ var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
63
+ var array_1 = require("@airgap/coinlib-core/utils/array");
64
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
65
+ var sapling = __importStar(require("@airgap/sapling-wasm"));
66
+ var TezosUtils_1 = require("../../TezosUtils");
67
+ var MichelsonBytes_1 = require("../../types/michelson/primitives/MichelsonBytes");
68
+ var MichelsonString_1 = require("../../types/michelson/primitives/MichelsonString");
69
+ var TezosSaplingAddress_1 = require("../TezosSaplingAddress");
70
+ var TezosSaplingBookkeeper = /** @class */ (function () {
71
+ function TezosSaplingBookkeeper(identifier, network, cryptoClient, encoder) {
72
+ this.identifier = identifier;
73
+ this.network = network;
74
+ this.cryptoClient = cryptoClient;
75
+ this.encoder = encoder;
76
+ }
77
+ TezosSaplingBookkeeper.prototype.getUnsignedTransactionDetails = function (sender, inputs, outputs, unshieldTarget) {
78
+ var _this = this;
79
+ if (unshieldTarget === undefined) {
80
+ return outputs.map(function (out) { return ({
81
+ from: [sender.asString()],
82
+ to: [out.address],
83
+ isInbound: false,
84
+ amount: out.value,
85
+ fee: '0',
86
+ protocolIdentifier: _this.identifier,
87
+ network: _this.network
88
+ }); });
89
+ }
90
+ else {
91
+ var amount = this.sumNotes(inputs).minus(this.sumNotes(outputs));
92
+ return [
93
+ {
94
+ from: [sender.asString()],
95
+ to: [unshieldTarget],
96
+ isInbound: false,
97
+ amount: amount.toFixed(),
98
+ fee: '0',
99
+ protocolIdentifier: this.identifier,
100
+ network: this.network
101
+ }
102
+ ];
103
+ }
104
+ };
105
+ TezosSaplingBookkeeper.prototype.getTransactionsPartialDetails = function (txs, knownViewingKeys) {
106
+ if (knownViewingKeys === void 0) { knownViewingKeys = []; }
107
+ return __awaiter(this, void 0, void 0, function () {
108
+ var partials;
109
+ var _this = this;
110
+ return __generator(this, function (_a) {
111
+ switch (_a.label) {
112
+ case 0: return [4 /*yield*/, Promise.all(txs.map(function (tx) { return __awaiter(_this, void 0, void 0, function () {
113
+ var signedBuffer, transaction, _a, from, details, boundDataMichelson, unshieldTarget, unshieldDetails, _b, _c, _d;
114
+ var _e;
115
+ return __generator(this, function (_f) {
116
+ switch (_f.label) {
117
+ case 0:
118
+ signedBuffer = Buffer.isBuffer(tx) ? tx : Buffer.from(tx, 'hex');
119
+ transaction = this.encoder.decodeTransaction(signedBuffer);
120
+ return [4 /*yield*/, this.getTransactionPartialDetails(transaction, knownViewingKeys)];
121
+ case 1:
122
+ _a = _f.sent(), from = _a[0], details = _a[1];
123
+ if (!(transaction.boundData.length > 0)) return [3 /*break*/, 4];
124
+ boundDataMichelson = TezosUtils_1.TezosUtils.unpackMichelsonType(transaction.boundData);
125
+ unshieldTarget = void 0;
126
+ if (boundDataMichelson instanceof MichelsonBytes_1.MichelsonBytes) {
127
+ unshieldTarget = TezosUtils_1.TezosUtils.parseTzAddress(boundDataMichelson.value);
128
+ }
129
+ else if (boundDataMichelson instanceof MichelsonString_1.MichelsonString) {
130
+ unshieldTarget = boundDataMichelson.value;
131
+ }
132
+ if (!(unshieldTarget !== undefined)) return [3 /*break*/, 4];
133
+ unshieldDetails = {
134
+ to: [unshieldTarget],
135
+ amount: transaction.balance.toFixed()
136
+ };
137
+ if (!(from !== undefined)) return [3 /*break*/, 3];
138
+ _c = (_b = Object).assign;
139
+ _d = [unshieldDetails];
140
+ _e = {};
141
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromViewingKey(from)];
142
+ case 2:
143
+ unshieldDetails = _c.apply(_b, _d.concat([(_e.from = [(_f.sent()).asString()], _e)]));
144
+ _f.label = 3;
145
+ case 3:
146
+ details.push(unshieldDetails);
147
+ _f.label = 4;
148
+ case 4: return [2 /*return*/, details];
149
+ }
150
+ });
151
+ }); }))];
152
+ case 1:
153
+ partials = _a.sent();
154
+ return [2 /*return*/, array_1.flattenArray(partials)];
155
+ }
156
+ });
157
+ });
158
+ };
159
+ TezosSaplingBookkeeper.prototype.getTransactionPartialDetails = function (transaction, knownViewingKeys) {
160
+ return __awaiter(this, void 0, void 0, function () {
161
+ var sender, _a, details;
162
+ var _this = this;
163
+ return __generator(this, function (_b) {
164
+ switch (_b.label) {
165
+ case 0:
166
+ if (!(transaction.spendDescriptions.length === 0)) return [3 /*break*/, 1];
167
+ _a = undefined;
168
+ return [3 /*break*/, 3];
169
+ case 1: return [4 /*yield*/, this.findSender(transaction, knownViewingKeys)];
170
+ case 2:
171
+ _a = _b.sent();
172
+ _b.label = 3;
173
+ case 3:
174
+ sender = _a;
175
+ return [4 /*yield*/, Promise.all(transaction.outputDescriptions.map(function (description) { return __awaiter(_this, void 0, void 0, function () {
176
+ var recipient, from, _a, _b, to, amount, outputDetails;
177
+ return __generator(this, function (_c) {
178
+ switch (_c.label) {
179
+ case 0: return [4 /*yield*/, this.findRecipient(description, knownViewingKeys)];
180
+ case 1:
181
+ recipient = _c.sent();
182
+ if (!(sender !== undefined)) return [3 /*break*/, 3];
183
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromViewingKey(sender)];
184
+ case 2:
185
+ _a = _c.sent();
186
+ return [3 /*break*/, 4];
187
+ case 3:
188
+ _a = undefined;
189
+ _c.label = 4;
190
+ case 4:
191
+ from = _a;
192
+ return [4 /*yield*/, this.decodeDetailsFromOutputDescription(sender, recipient, description)];
193
+ case 5:
194
+ _b = _c.sent(), to = _b[0], amount = _b[1];
195
+ outputDetails = {};
196
+ if (from !== undefined) {
197
+ outputDetails = Object.assign(outputDetails, { from: [from.asString()] });
198
+ }
199
+ if (to !== undefined) {
200
+ outputDetails = Object.assign(outputDetails, { to: [to.asString()] });
201
+ }
202
+ if (amount !== undefined) {
203
+ outputDetails = Object.assign(outputDetails, { amount: amount.toFixed() });
204
+ }
205
+ return [2 /*return*/, outputDetails];
206
+ }
207
+ });
208
+ }); }))];
209
+ case 4:
210
+ details = _b.sent();
211
+ return [2 /*return*/, [sender, details]];
212
+ }
213
+ });
214
+ });
215
+ };
216
+ TezosSaplingBookkeeper.prototype.findSender = function (transaction, viewingKeys) {
217
+ return __awaiter(this, void 0, void 0, function () {
218
+ var _this = this;
219
+ return __generator(this, function (_a) {
220
+ switch (_a.label) {
221
+ case 0: return [4 /*yield*/, Promise.all(viewingKeys.map(function (viewingKey) { return __awaiter(_this, void 0, void 0, function () {
222
+ var outputDescription, error_1;
223
+ return __generator(this, function (_a) {
224
+ switch (_a.label) {
225
+ case 0:
226
+ _a.trys.push([0, 2, , 3]);
227
+ outputDescription = transaction.outputDescriptions[0];
228
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextOut(viewingKey, outputDescription.ciphertext, outputDescription.cm)];
229
+ case 1:
230
+ _a.sent();
231
+ return [2 /*return*/, viewingKey];
232
+ case 2:
233
+ error_1 = _a.sent();
234
+ return [2 /*return*/, undefined];
235
+ case 3: return [2 /*return*/];
236
+ }
237
+ });
238
+ }); }))];
239
+ case 1: return [2 /*return*/, (_a.sent()).find(function (viewingKey) { return viewingKey !== undefined; })];
240
+ }
241
+ });
242
+ });
243
+ };
244
+ TezosSaplingBookkeeper.prototype.findRecipient = function (outputDescription, viewingKeys) {
245
+ return __awaiter(this, void 0, void 0, function () {
246
+ var _this = this;
247
+ return __generator(this, function (_a) {
248
+ switch (_a.label) {
249
+ case 0: return [4 /*yield*/, Promise.all(viewingKeys.map(function (viewingKey) { return __awaiter(_this, void 0, void 0, function () {
250
+ var error_2;
251
+ return __generator(this, function (_a) {
252
+ switch (_a.label) {
253
+ case 0:
254
+ _a.trys.push([0, 2, , 3]);
255
+ // a viewing key is the recipient if it can decrypt the ciphertext payload enc from output description
256
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, outputDescription.ciphertext)];
257
+ case 1:
258
+ // a viewing key is the recipient if it can decrypt the ciphertext payload enc from output description
259
+ _a.sent();
260
+ return [2 /*return*/, viewingKey];
261
+ case 2:
262
+ error_2 = _a.sent();
263
+ return [2 /*return*/, undefined];
264
+ case 3: return [2 /*return*/];
265
+ }
266
+ });
267
+ }); }))];
268
+ case 1: return [2 /*return*/, (_a.sent()).find(function (viewingKey) { return viewingKey !== undefined; })];
269
+ }
270
+ });
271
+ });
272
+ };
273
+ TezosSaplingBookkeeper.prototype.decodeDetailsFromOutputDescription = function (sender, recipient, output) {
274
+ return __awaiter(this, void 0, void 0, function () {
275
+ var viewingKey, _a, address, amount;
276
+ return __generator(this, function (_b) {
277
+ switch (_b.label) {
278
+ case 0:
279
+ viewingKey = sender !== null && sender !== void 0 ? sender : recipient;
280
+ if (!(viewingKey !== undefined)) return [3 /*break*/, 3];
281
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, output.ciphertext, viewingKey === sender ? 'sender' : 'receiver', output.cm)];
282
+ case 1:
283
+ _a = _b.sent(), address = _a.address, amount = _a.amount;
284
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromRaw(address)];
285
+ case 2: return [2 /*return*/, [_b.sent(), amount]];
286
+ case 3: return [2 /*return*/, [undefined, undefined]];
287
+ }
288
+ });
289
+ });
290
+ };
291
+ TezosSaplingBookkeeper.prototype.sumNotes = function (notes) {
292
+ return notes.reduce(function (sum, next) { return sum.plus(next.value); }, new bignumber_1.default(0));
293
+ };
294
+ TezosSaplingBookkeeper.prototype.getIncomingInputs = function (viewingKey, commitmentsWithCiphertext) {
295
+ return __awaiter(this, void 0, void 0, function () {
296
+ var inputs;
297
+ var _this = this;
298
+ return __generator(this, function (_a) {
299
+ switch (_a.label) {
300
+ case 0: return [4 /*yield*/, Promise.all(commitmentsWithCiphertext.map(function (_a) {
301
+ var commitment = _a[0], ciphertext = _a[1], position = _a[2];
302
+ return __awaiter(_this, void 0, void 0, function () {
303
+ var decrypted, _b;
304
+ return __generator(this, function (_c) {
305
+ switch (_c.label) {
306
+ case 0: return [4 /*yield*/, this.getIncomingInputFromCiphertext(viewingKey, ciphertext, commitment, position)];
307
+ case 1:
308
+ decrypted = _c.sent();
309
+ _b = decrypted === undefined;
310
+ if (_b) return [3 /*break*/, 3];
311
+ return [4 /*yield*/, this.verifyCommitment(decrypted[1], commitment)];
312
+ case 2:
313
+ _b = !(_c.sent());
314
+ _c.label = 3;
315
+ case 3:
316
+ if (_b) {
317
+ return [2 /*return*/, undefined];
318
+ }
319
+ return [2 /*return*/, decrypted[1]];
320
+ }
321
+ });
322
+ });
323
+ }))];
324
+ case 1:
325
+ inputs = (_a.sent()).filter(function (input) { return input !== undefined; });
326
+ return [2 /*return*/, inputs];
327
+ }
328
+ });
329
+ });
330
+ };
331
+ TezosSaplingBookkeeper.prototype.getOutgoingInputs = function (viewingKey, commitmentsWithCiphertext) {
332
+ return __awaiter(this, void 0, void 0, function () {
333
+ var inputs;
334
+ var _this = this;
335
+ return __generator(this, function (_a) {
336
+ switch (_a.label) {
337
+ case 0: return [4 /*yield*/, Promise.all(commitmentsWithCiphertext.map(function (_a) {
338
+ var commitment = _a[0], ciphertext = _a[1], position = _a[2];
339
+ return __awaiter(_this, void 0, void 0, function () {
340
+ var decrypted, _b, _c;
341
+ return __generator(this, function (_d) {
342
+ switch (_d.label) {
343
+ case 0: return [4 /*yield*/, this.getOutgoingInputFromCiphertext(viewingKey, ciphertext, commitment, position)];
344
+ case 1:
345
+ decrypted = _d.sent();
346
+ _b = decrypted === undefined;
347
+ if (_b) return [3 /*break*/, 4];
348
+ _c = decrypted[1].address !== '';
349
+ if (!_c) return [3 /*break*/, 3];
350
+ return [4 /*yield*/, this.verifyCommitment(decrypted[1], commitment)];
351
+ case 2:
352
+ _c = !(_d.sent());
353
+ _d.label = 3;
354
+ case 3:
355
+ _b = (_c);
356
+ _d.label = 4;
357
+ case 4:
358
+ if (_b) {
359
+ return [2 /*return*/, undefined];
360
+ }
361
+ return [2 /*return*/, decrypted[1]];
362
+ }
363
+ });
364
+ });
365
+ }))];
366
+ case 1:
367
+ inputs = (_a.sent()).filter(function (input) { return input !== undefined; });
368
+ return [2 /*return*/, inputs];
369
+ }
370
+ });
371
+ });
372
+ };
373
+ TezosSaplingBookkeeper.prototype.getUnspends = function (viewingKey, commitmentsWithCiphertext, nullifiers) {
374
+ return __awaiter(this, void 0, void 0, function () {
375
+ var nullifiersSet, inputs, unspends;
376
+ var _this = this;
377
+ return __generator(this, function (_a) {
378
+ switch (_a.label) {
379
+ case 0:
380
+ nullifiersSet = new Set(nullifiers.map(function (nullifier) { return hex_1.stripHexPrefix(nullifier); }));
381
+ return [4 /*yield*/, this.getInputs(viewingKey, commitmentsWithCiphertext)];
382
+ case 1:
383
+ inputs = _a.sent();
384
+ return [4 /*yield*/, Promise.all(inputs.map(function (input) { return __awaiter(_this, void 0, void 0, function () {
385
+ var nullifier, _a, _b, _c;
386
+ return __generator(this, function (_d) {
387
+ switch (_d.label) {
388
+ case 0:
389
+ _b = (_a = sapling).computeNullifier;
390
+ _c = [viewingKey];
391
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(input.address)];
392
+ case 1: return [4 /*yield*/, _b.apply(_a, _c.concat([(_d.sent()).raw, input.value,
393
+ input.rcm,
394
+ input.pos]))];
395
+ case 2:
396
+ nullifier = _d.sent();
397
+ return [2 /*return*/, !nullifiersSet.has(nullifier.toString('hex')) ? input : undefined];
398
+ }
399
+ });
400
+ }); }))];
401
+ case 2:
402
+ unspends = (_a.sent()).filter(function (input) { return input !== undefined; });
403
+ return [2 /*return*/, unspends];
404
+ }
405
+ });
406
+ });
407
+ };
408
+ TezosSaplingBookkeeper.prototype.getInputs = function (viewingKey, commitmentsWithCiphertext) {
409
+ return __awaiter(this, void 0, void 0, function () {
410
+ var inputs;
411
+ var _this = this;
412
+ return __generator(this, function (_a) {
413
+ switch (_a.label) {
414
+ case 0: return [4 /*yield*/, Promise.all(commitmentsWithCiphertext.map(function (_a, index) {
415
+ var commitment = _a[0], ciphertext = _a[1];
416
+ return __awaiter(_this, void 0, void 0, function () {
417
+ var decrypted, _b;
418
+ return __generator(this, function (_c) {
419
+ switch (_c.label) {
420
+ case 0: return [4 /*yield*/, this.getReceiverInputFromCiphertext(viewingKey, ciphertext, new bignumber_1.default(index))];
421
+ case 1:
422
+ decrypted = _c.sent();
423
+ _b = decrypted === undefined;
424
+ if (_b) return [3 /*break*/, 3];
425
+ return [4 /*yield*/, this.verifyCommitment(decrypted[1], commitment)];
426
+ case 2:
427
+ _b = !(_c.sent());
428
+ _c.label = 3;
429
+ case 3:
430
+ if (_b) {
431
+ return [2 /*return*/, undefined];
432
+ }
433
+ return [2 /*return*/, decrypted[1]];
434
+ }
435
+ });
436
+ });
437
+ }))];
438
+ case 1:
439
+ inputs = (_a.sent()).filter(function (input) { return input !== undefined; });
440
+ return [2 /*return*/, inputs];
441
+ }
442
+ });
443
+ });
444
+ };
445
+ TezosSaplingBookkeeper.prototype.getReceiverInputFromCiphertext = function (viewingKey, ciphertext, position) {
446
+ return __awaiter(this, void 0, void 0, function () {
447
+ var _a, diversifier, amount, rcm, memo, ivk, address, input, _b;
448
+ var _c;
449
+ return __generator(this, function (_d) {
450
+ switch (_d.label) {
451
+ case 0:
452
+ _d.trys.push([0, 5, , 6]);
453
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, ciphertext, 'receiver')];
454
+ case 1:
455
+ _a = _d.sent(), diversifier = _a.diversifier, amount = _a.amount, rcm = _a.rcm, memo = _a.memo;
456
+ return [4 /*yield*/, sapling.getIncomingViewingKey(viewingKey)];
457
+ case 2:
458
+ ivk = _d.sent();
459
+ return [4 /*yield*/, sapling.getRawPaymentAddressFromIncomingViewingKey(ivk, diversifier)];
460
+ case 3:
461
+ address = _d.sent();
462
+ _c = {
463
+ rcm: rcm.toString('hex'),
464
+ pos: position.toString(),
465
+ value: amount.toString()
466
+ };
467
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromRaw(address)];
468
+ case 4:
469
+ input = (_c.address = (_d.sent()).asString(),
470
+ _c);
471
+ return [2 /*return*/, [Buffer.from(memo), input]];
472
+ case 5:
473
+ _b = _d.sent();
474
+ return [2 /*return*/, undefined];
475
+ case 6: return [2 /*return*/];
476
+ }
477
+ });
478
+ });
479
+ };
480
+ TezosSaplingBookkeeper.prototype.getSenderInputFromCiphertext = function (viewingKey, ciphertext, commitment, position) {
481
+ return __awaiter(this, void 0, void 0, function () {
482
+ var _a, amount, address, rcm, memo, input, _b;
483
+ var _c;
484
+ return __generator(this, function (_d) {
485
+ switch (_d.label) {
486
+ case 0:
487
+ _d.trys.push([0, 3, , 4]);
488
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, ciphertext, 'sender', commitment)];
489
+ case 1:
490
+ _a = _d.sent(), amount = _a.amount, address = _a.address, rcm = _a.rcm, memo = _a.memo;
491
+ _c = {
492
+ rcm: rcm.toString('hex'),
493
+ pos: position.toString(),
494
+ value: amount.toString()
495
+ };
496
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromRaw(address)];
497
+ case 2:
498
+ input = (_c.address = (_d.sent()).asString(),
499
+ _c);
500
+ return [2 /*return*/, [Buffer.from(memo), input]];
501
+ case 3:
502
+ _b = _d.sent();
503
+ return [2 /*return*/, undefined];
504
+ case 4: return [2 /*return*/];
505
+ }
506
+ });
507
+ });
508
+ };
509
+ TezosSaplingBookkeeper.prototype.getIncomingInputFromCiphertext = function (viewingKey, ciphertext, commitment, position) {
510
+ return __awaiter(this, void 0, void 0, function () {
511
+ var inputWithMemo, error_3;
512
+ return __generator(this, function (_a) {
513
+ switch (_a.label) {
514
+ case 0: return [4 /*yield*/, this.getReceiverInputFromCiphertext(viewingKey, ciphertext, position)];
515
+ case 1:
516
+ inputWithMemo = _a.sent();
517
+ if (inputWithMemo === undefined) {
518
+ return [2 /*return*/, undefined];
519
+ }
520
+ _a.label = 2;
521
+ case 2:
522
+ _a.trys.push([2, 4, , 5]);
523
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, ciphertext, 'sender', commitment)
524
+ // ciphertext can be decrypted, the receiver is also the sender
525
+ ];
526
+ case 3:
527
+ _a.sent();
528
+ // ciphertext can be decrypted, the receiver is also the sender
529
+ return [2 /*return*/, undefined];
530
+ case 4:
531
+ error_3 = _a.sent();
532
+ // ciphertext could not be decrypted, the reciever is not the sender
533
+ return [2 /*return*/, inputWithMemo];
534
+ case 5: return [2 /*return*/];
535
+ }
536
+ });
537
+ });
538
+ };
539
+ TezosSaplingBookkeeper.prototype.getOutgoingInputFromCiphertext = function (viewingKey, ciphertext, commitment, position) {
540
+ return __awaiter(this, void 0, void 0, function () {
541
+ var inputWithMemo, _a;
542
+ return __generator(this, function (_b) {
543
+ switch (_b.label) {
544
+ case 0: return [4 /*yield*/, this.getSenderInputFromCiphertext(viewingKey, ciphertext, commitment, position)];
545
+ case 1:
546
+ inputWithMemo = _b.sent();
547
+ if (inputWithMemo === undefined) {
548
+ return [2 /*return*/, undefined];
549
+ }
550
+ _b.label = 2;
551
+ case 2:
552
+ _b.trys.push([2, 4, , 5]);
553
+ return [4 /*yield*/, this.cryptoClient.decryptCiphertextEnc(viewingKey, ciphertext, 'receiver')
554
+ // ciphertext can be decrypted, the sender is also the receiver
555
+ ];
556
+ case 3:
557
+ _b.sent();
558
+ // ciphertext can be decrypted, the sender is also the receiver
559
+ return [2 /*return*/, undefined];
560
+ case 4:
561
+ _a = _b.sent();
562
+ // ciphertext could not be decrypted, the sender is not the receiver
563
+ return [2 /*return*/, inputWithMemo];
564
+ case 5: return [2 /*return*/];
565
+ }
566
+ });
567
+ });
568
+ };
569
+ TezosSaplingBookkeeper.prototype.verifyCommitment = function (input, expectedCommitment) {
570
+ return __awaiter(this, void 0, void 0, function () {
571
+ var _a, _b, _c;
572
+ return __generator(this, function (_d) {
573
+ switch (_d.label) {
574
+ case 0:
575
+ _b = (_a = sapling).verifyCommitment;
576
+ _c = [expectedCommitment];
577
+ return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(input.address)];
578
+ case 1: return [2 /*return*/, _b.apply(_a, _c.concat([(_d.sent()).raw, input.value, input.rcm]))];
579
+ }
580
+ });
581
+ });
582
+ };
583
+ return TezosSaplingBookkeeper;
584
+ }());
585
+ exports.TezosSaplingBookkeeper = TezosSaplingBookkeeper;
586
+ //# sourceMappingURL=TezosSaplingBookkeeper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TezosSaplingBookkeeper.js","sourceRoot":"","sources":["../../../../src/protocol/sapling/utils/TezosSaplingBookkeeper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
3
+ import { TezosSaplingCiphertext } from '../../types/sapling/TezosSaplingCiphertext';
4
+ import { TezosSaplingOutputDescription, TezosSaplingSpendDescription, TezosSaplingTransaction } from '../../types/sapling/TezosSaplingTransaction';
5
+ export declare class TezosSaplingEncoder {
6
+ encodeTransaction(transaction: TezosSaplingTransaction): Buffer;
7
+ encodeSpendDescriptions(descriptions: TezosSaplingSpendDescription[]): Buffer;
8
+ encodeSpendDescription(description: TezosSaplingSpendDescription): Buffer;
9
+ encodeOutputDescriptions(descriptions: TezosSaplingOutputDescription[]): Buffer;
10
+ encodeOutputDescription(description: TezosSaplingOutputDescription): Buffer;
11
+ private encodeDescriptions;
12
+ private encodeCiphertext;
13
+ decodeTransaction(transaction: Buffer): TezosSaplingTransaction;
14
+ decodeSpendDescriptions(bytes: Buffer): TezosSaplingSpendDescription[];
15
+ decodeSpendDescription(bytes: Buffer): TezosSaplingSpendDescription;
16
+ decodeOutputDescriptions(bytes: Buffer): TezosSaplingOutputDescription[];
17
+ private decodeDescriptions;
18
+ decodeOutputDescription(bytes: Buffer): TezosSaplingOutputDescription;
19
+ decodeCiphertext(bytes: Buffer): TezosSaplingCiphertext;
20
+ decodeBalanceFromTransaction(bytes: Buffer): BigNumber;
21
+ private decodeBalance;
22
+ }