@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.
- package/package.json +5 -5
- package/v0/actions/GetKtAccountsAction.js +81 -11
- package/v0/actions/GetKtAccountsAction.js.map +1 -1
- package/v0/constants.js +6 -6
- package/v0/constants.js.map +1 -1
- package/v0/index.js +38 -38
- package/v0/index.js.map +1 -1
- package/v0/protocol/TezosAddress.d.ts +1 -0
- package/v0/protocol/TezosAddress.js +81 -41
- package/v0/protocol/TezosAddress.js.map +1 -1
- package/v0/protocol/TezosCryptoClient.d.ts +1 -0
- package/v0/protocol/TezosCryptoClient.js +123 -68
- package/v0/protocol/TezosCryptoClient.js.map +1 -1
- package/v0/protocol/TezosProtocol.js +1631 -978
- package/v0/protocol/TezosProtocol.js.map +1 -1
- package/v0/protocol/TezosProtocolOptions.d.ts +1 -1
- package/v0/protocol/TezosProtocolOptions.js +98 -26
- package/v0/protocol/TezosProtocolOptions.js.map +1 -1
- package/v0/protocol/TezosUtils.d.ts +1 -0
- package/v0/protocol/TezosUtils.js +165 -131
- package/v0/protocol/TezosUtils.js.map +1 -1
- package/v0/protocol/contract/TezosContract.js +472 -243
- package/v0/protocol/contract/TezosContract.js.map +1 -1
- package/v0/protocol/contract/TezosContractCall.js +10 -8
- package/v0/protocol/contract/TezosContractCall.js.map +1 -1
- package/v0/protocol/contract/TezosContractEntrypoint.js +19 -14
- package/v0/protocol/contract/TezosContractEntrypoint.js.map +1 -1
- package/v0/protocol/contract/TezosContractStorage.js +9 -8
- package/v0/protocol/contract/TezosContractStorage.js.map +1 -1
- package/v0/protocol/contract/remote-data/TezosContractRemoteDataFactory.js +25 -8
- package/v0/protocol/contract/remote-data/TezosContractRemoteDataFactory.js.map +1 -1
- package/v0/protocol/contract/remote-data/TezosStorageRemoteData.js +113 -39
- package/v0/protocol/contract/remote-data/TezosStorageRemoteData.js.map +1 -1
- package/v0/protocol/domains/TezosDomains.js +270 -165
- package/v0/protocol/domains/TezosDomains.js.map +1 -1
- package/v0/protocol/fa/TezosBTC.js +98 -19
- package/v0/protocol/fa/TezosBTC.js.map +1 -1
- package/v0/protocol/fa/TezosBTCtez.js +48 -17
- package/v0/protocol/fa/TezosBTCtez.js.map +1 -1
- package/v0/protocol/fa/TezosCTez.js +45 -17
- package/v0/protocol/fa/TezosCTez.js.map +1 -1
- package/v0/protocol/fa/TezosDOGA.js +45 -17
- package/v0/protocol/fa/TezosDOGA.js.map +1 -1
- package/v0/protocol/fa/TezosETHtz.js +68 -10
- package/v0/protocol/fa/TezosETHtz.js.map +1 -1
- package/v0/protocol/fa/TezosFA1Protocol.js +276 -119
- package/v0/protocol/fa/TezosFA1Protocol.js.map +1 -1
- package/v0/protocol/fa/TezosFA1p2Protocol.js +101 -22
- package/v0/protocol/fa/TezosFA1p2Protocol.js.map +1 -1
- package/v0/protocol/fa/TezosFA2Protocol.js +402 -213
- package/v0/protocol/fa/TezosFA2Protocol.js.map +1 -1
- package/v0/protocol/fa/TezosFAProtocol.js +418 -211
- package/v0/protocol/fa/TezosFAProtocol.js.map +1 -1
- package/v0/protocol/fa/TezosFAProtocolOptions.d.ts +2 -2
- package/v0/protocol/fa/TezosFAProtocolOptions.js +195 -92
- package/v0/protocol/fa/TezosFAProtocolOptions.js.map +1 -1
- package/v0/protocol/fa/TezosKolibriUSD.js +70 -11
- package/v0/protocol/fa/TezosKolibriUSD.js.map +1 -1
- package/v0/protocol/fa/TezosPlanty.js +45 -17
- package/v0/protocol/fa/TezosPlanty.js.map +1 -1
- package/v0/protocol/fa/TezosQUIPU.js +48 -17
- package/v0/protocol/fa/TezosQUIPU.js.map +1 -1
- package/v0/protocol/fa/TezosSIRS.js +45 -17
- package/v0/protocol/fa/TezosSIRS.js.map +1 -1
- package/v0/protocol/fa/TezosStaker.js +70 -11
- package/v0/protocol/fa/TezosStaker.js.map +1 -1
- package/v0/protocol/fa/TezosUBTC.js +48 -17
- package/v0/protocol/fa/TezosUBTC.js.map +1 -1
- package/v0/protocol/fa/TezosUDEFI.js +48 -17
- package/v0/protocol/fa/TezosUDEFI.js.map +1 -1
- package/v0/protocol/fa/TezosUSD.js +70 -11
- package/v0/protocol/fa/TezosUSD.js.map +1 -1
- package/v0/protocol/fa/TezosUSDT.js +48 -17
- package/v0/protocol/fa/TezosUSDT.js.map +1 -1
- package/v0/protocol/fa/TezosUUSD.js +27 -8
- package/v0/protocol/fa/TezosUUSD.js.map +1 -1
- package/v0/protocol/fa/TezosUXTZ.js +48 -17
- package/v0/protocol/fa/TezosUXTZ.js.map +1 -1
- package/v0/protocol/fa/TezosWRAP.js +48 -17
- package/v0/protocol/fa/TezosWRAP.js.map +1 -1
- package/v0/protocol/fa/TezosWrapped.js +70 -11
- package/v0/protocol/fa/TezosWrapped.js.map +1 -1
- package/v0/protocol/fa/TezosYOU.js +27 -8
- package/v0/protocol/fa/TezosYOU.js.map +1 -1
- package/v0/protocol/fa/metadata/BigMapTokenMetadataIndexer.js +162 -84
- package/v0/protocol/fa/metadata/BigMapTokenMetadataIndexer.js.map +1 -1
- package/v0/protocol/fa/metadata/ObjktTokenMetadataIndexer.js +87 -37
- package/v0/protocol/fa/metadata/ObjktTokenMetadataIndexer.js.map +1 -1
- package/v0/protocol/indexerClient/TezosIndexerClient.js +259 -115
- package/v0/protocol/indexerClient/TezosIndexerClient.js.map +1 -1
- package/v0/protocol/kt/TezosKtAddress.js +67 -7
- package/v0/protocol/kt/TezosKtAddress.js.map +1 -1
- package/v0/protocol/kt/TezosKtProtocol.js +309 -161
- package/v0/protocol/kt/TezosKtProtocol.js.map +1 -1
- package/v0/protocol/sapling/TezosSaplingAddress.d.ts +1 -0
- package/v0/protocol/sapling/TezosSaplingAddress.js +117 -46
- package/v0/protocol/sapling/TezosSaplingAddress.js.map +1 -1
- package/v0/protocol/sapling/TezosSaplingCryptoClient.d.ts +1 -0
- package/v0/protocol/sapling/TezosSaplingCryptoClient.js +220 -125
- package/v0/protocol/sapling/TezosSaplingCryptoClient.js.map +1 -1
- package/v0/protocol/sapling/TezosSaplingProtocol.d.ts +1 -0
- package/v0/protocol/sapling/TezosSaplingProtocol.js +1127 -600
- package/v0/protocol/sapling/TezosSaplingProtocol.js.map +1 -1
- package/v0/protocol/sapling/TezosSaplingProtocolOptions.d.ts +1 -0
- package/v0/protocol/sapling/TezosSaplingProtocolOptions.js +61 -32
- package/v0/protocol/sapling/TezosSaplingProtocolOptions.js.map +1 -1
- package/v0/protocol/sapling/TezosShieldedTezProtocol.js +134 -50
- package/v0/protocol/sapling/TezosShieldedTezProtocol.js.map +1 -1
- package/v0/protocol/sapling/injector/TezosSaplingInjectorClient.js +56 -10
- package/v0/protocol/sapling/injector/TezosSaplingInjectorClient.js.map +1 -1
- package/v0/protocol/sapling/node/TezosSaplingNodeClient.js +67 -12
- package/v0/protocol/sapling/node/TezosSaplingNodeClient.js.map +1 -1
- package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.d.ts +1 -0
- package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.js +539 -221
- package/v0/protocol/sapling/utils/TezosSaplingBookkeeper.js.map +1 -1
- package/v0/protocol/sapling/utils/TezosSaplingEncoder.d.ts +1 -0
- package/v0/protocol/sapling/utils/TezosSaplingEncoder.js +104 -101
- package/v0/protocol/sapling/utils/TezosSaplingEncoder.js.map +1 -1
- package/v0/protocol/sapling/utils/TezosSaplingForger.d.ts +1 -0
- package/v0/protocol/sapling/utils/TezosSaplingForger.js +266 -107
- package/v0/protocol/sapling/utils/TezosSaplingForger.js.map +1 -1
- package/v0/protocol/sapling/utils/TezosSaplingState.js +239 -110
- package/v0/protocol/sapling/utils/TezosSaplingState.js.map +1 -1
- package/v0/protocol/types/TezosOperationType.js +1 -1
- package/v0/protocol/types/TezosOperationType.js.map +1 -1
- package/v0/protocol/types/contract/BigMapEntry.d.ts +1 -1
- package/v0/protocol/types/contract/TezosContractMetadata.d.ts +2 -2
- package/v0/protocol/types/micheline/MichelineNode.d.ts +7 -7
- package/v0/protocol/types/micheline/MichelineNodeUtils.js +13 -9
- package/v0/protocol/types/micheline/MichelineNodeUtils.js.map +1 -1
- package/v0/protocol/types/michelson/MichelsonType.d.ts +1 -0
- package/v0/protocol/types/michelson/MichelsonType.js +12 -11
- package/v0/protocol/types/michelson/MichelsonType.js.map +1 -1
- package/v0/protocol/types/michelson/MichelsonTypeMeta.js +92 -45
- package/v0/protocol/types/michelson/MichelsonTypeMeta.js.map +1 -1
- package/v0/protocol/types/michelson/MichelsonTypeUtils.d.ts +1 -0
- package/v0/protocol/types/michelson/MichelsonTypeUtils.js +219 -58
- package/v0/protocol/types/michelson/MichelsonTypeUtils.js.map +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonList.js +43 -24
- package/v0/protocol/types/michelson/generics/MichelsonList.js.map +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonMap.js +61 -39
- package/v0/protocol/types/michelson/generics/MichelsonMap.js.map +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonOption.d.ts +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonOption.js +75 -46
- package/v0/protocol/types/michelson/generics/MichelsonOption.js.map +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonOr.d.ts +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonOr.js +76 -50
- package/v0/protocol/types/michelson/generics/MichelsonOr.js.map +1 -1
- package/v0/protocol/types/michelson/generics/MichelsonPair.js +85 -52
- package/v0/protocol/types/michelson/generics/MichelsonPair.js.map +1 -1
- package/v0/protocol/types/michelson/grammar/MichelsonGrammarData.d.ts +1 -1
- package/v0/protocol/types/michelson/grammar/MichelsonGrammarInstruction.d.ts +1 -1
- package/v0/protocol/types/michelson/grammar/MichelsonGrammarType.d.ts +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonAddress.d.ts +1 -0
- package/v0/protocol/types/michelson/primitives/MichelsonAddress.js +47 -28
- package/v0/protocol/types/michelson/primitives/MichelsonAddress.js.map +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonBool.js +39 -20
- package/v0/protocol/types/michelson/primitives/MichelsonBool.js.map +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonBytes.d.ts +1 -0
- package/v0/protocol/types/michelson/primitives/MichelsonBytes.js +54 -35
- package/v0/protocol/types/michelson/primitives/MichelsonBytes.js.map +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonInt.d.ts +1 -0
- package/v0/protocol/types/michelson/primitives/MichelsonInt.js +49 -30
- package/v0/protocol/types/michelson/primitives/MichelsonInt.js.map +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonString.d.ts +1 -0
- package/v0/protocol/types/michelson/primitives/MichelsonString.js +52 -33
- package/v0/protocol/types/michelson/primitives/MichelsonString.js.map +1 -1
- package/v0/protocol/types/michelson/primitives/MichelsonUnit.js +34 -14
- package/v0/protocol/types/michelson/primitives/MichelsonUnit.js.map +1 -1
- package/v0/protocol/types/sapling/TezosSaplingStateTree.d.ts +1 -1
- package/v0/protocol/types/sapling/TezosSaplingTransaction.d.ts +1 -0
- package/v0/protocol/types/utils.js +10 -8
- package/v0/protocol/types/utils.js.map +1 -1
- package/v0/serializer/validators/transaction-validator.js +78 -29
- package/v0/serializer/validators/transaction-validator.js.map +1 -1
- package/v0/serializer/validators/transaction-xtz-btc-validator.js +129 -55
- package/v0/serializer/validators/transaction-xtz-btc-validator.js.map +1 -1
- package/v0/serializer/validators/validators.js +103 -43
- package/v0/serializer/validators/validators.js.map +1 -1
- package/v1/block-explorer/TzKTBlockExplorer.js +61 -12
- package/v1/block-explorer/TzKTBlockExplorer.js.map +1 -1
- package/v1/block-explorer/factory.js +5 -4
- package/v1/block-explorer/factory.js.map +1 -1
- package/v1/contract/TezosContract.js +471 -242
- package/v1/contract/TezosContract.js.map +1 -1
- package/v1/contract/TezosContractCall.js +10 -8
- package/v1/contract/TezosContractCall.js.map +1 -1
- package/v1/contract/TezosContractEntrypoint.d.ts +1 -1
- package/v1/contract/TezosContractEntrypoint.js +19 -14
- package/v1/contract/TezosContractEntrypoint.js.map +1 -1
- package/v1/contract/TezosContractStorage.js +9 -8
- package/v1/contract/TezosContractStorage.js.map +1 -1
- package/v1/contract/remote-data/TezosContractRemoteDataFactory.js +25 -8
- package/v1/contract/remote-data/TezosContractRemoteDataFactory.js.map +1 -1
- package/v1/contract/remote-data/TezosStorageRemoteData.js +113 -39
- package/v1/contract/remote-data/TezosStorageRemoteData.js.map +1 -1
- package/v1/crypto/TezosCryptoClient.d.ts +1 -0
- package/v1/crypto/TezosCryptoClient.js +117 -64
- package/v1/crypto/TezosCryptoClient.js.map +1 -1
- package/v1/crypto/TezosSaplingCryptoClient.d.ts +1 -0
- package/v1/crypto/TezosSaplingCryptoClient.js +194 -116
- package/v1/crypto/TezosSaplingCryptoClient.js.map +1 -1
- package/v1/data/TezosAddress.js +14 -13
- package/v1/data/TezosAddress.js.map +1 -1
- package/v1/data/TezosSaplingAddress.d.ts +1 -0
- package/v1/data/TezosSaplingAddress.js +94 -29
- package/v1/data/TezosSaplingAddress.js.map +1 -1
- package/v1/domains/TezosDomains.js +270 -165
- package/v1/domains/TezosDomains.js.map +1 -1
- package/v1/index.js +39 -39
- package/v1/index.js.map +1 -1
- package/v1/indexer/TzKTIndexerClient.js +270 -126
- package/v1/indexer/TzKTIndexerClient.js.map +1 -1
- package/v1/indexer/factory.js +5 -4
- package/v1/indexer/factory.js.map +1 -1
- package/v1/indexer/token-metadata/BigMapTokenMetadataIndexerClient.js +161 -83
- package/v1/indexer/token-metadata/BigMapTokenMetadataIndexerClient.js.map +1 -1
- package/v1/indexer/token-metadata/ObjktTokenMetadataIndexerClient.js +85 -36
- package/v1/indexer/token-metadata/ObjktTokenMetadataIndexerClient.js.map +1 -1
- package/v1/injector/TezosSaplingInjectorClient.js +56 -10
- package/v1/injector/TezosSaplingInjectorClient.js.map +1 -1
- package/v1/module/TezosModule.js +155 -88
- package/v1/module/TezosModule.js.map +1 -1
- package/v1/module.js +3 -2
- package/v1/module.js.map +1 -1
- package/v1/node/TezosSaplingNodeClient.js +67 -12
- package/v1/node/TezosSaplingNodeClient.js.map +1 -1
- package/v1/protocol/TezosProtocol.js +1385 -848
- package/v1/protocol/TezosProtocol.js.map +1 -1
- package/v1/protocol/fa/TezosFA1Protocol.js +205 -81
- package/v1/protocol/fa/TezosFA1Protocol.js.map +1 -1
- package/v1/protocol/fa/TezosFA1p2Protocol.js +111 -32
- package/v1/protocol/fa/TezosFA1p2Protocol.js.map +1 -1
- package/v1/protocol/fa/TezosFA2Protocol.js +332 -174
- package/v1/protocol/fa/TezosFA2Protocol.js.map +1 -1
- package/v1/protocol/fa/TezosFAProtocol.js +528 -255
- package/v1/protocol/fa/TezosFAProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/BTCTezProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/BTCTezProtocol.js +47 -30
- package/v1/protocol/fa/tokens/BTCTezProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/CTezProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/CTezProtocol.js +47 -27
- package/v1/protocol/fa/tokens/CTezProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/DogamiProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/DogamiProtocol.js +47 -27
- package/v1/protocol/fa/tokens/DogamiProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/ETHTezProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/ETHTezProtocol.js +90 -30
- package/v1/protocol/fa/tokens/ETHTezProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/KolibriUSDProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/KolibriUSDProtocol.js +90 -30
- package/v1/protocol/fa/tokens/KolibriUSDProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/PlentyProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/PlentyProtocol.js +90 -30
- package/v1/protocol/fa/tokens/PlentyProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/QuipuswapProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/QuipuswapProtocol.js +47 -30
- package/v1/protocol/fa/tokens/QuipuswapProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/SiriusProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/SiriusProtocol.js +47 -27
- package/v1/protocol/fa/tokens/SiriusProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/StakerProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/StakerProtocol.js +90 -30
- package/v1/protocol/fa/tokens/StakerProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/TetherUSDProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/TetherUSDProtocol.js +47 -30
- package/v1/protocol/fa/tokens/TetherUSDProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/TzBTCProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/TzBTCProtocol.js +47 -27
- package/v1/protocol/fa/tokens/TzBTCProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/UBTCProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/UBTCProtocol.js +47 -30
- package/v1/protocol/fa/tokens/UBTCProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/UDEFIProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/UDEFIProtocol.js +47 -30
- package/v1/protocol/fa/tokens/UDEFIProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/USDTezProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/USDTezProtocol.js +47 -27
- package/v1/protocol/fa/tokens/USDTezProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/UUSDProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/UUSDProtocol.js +47 -30
- package/v1/protocol/fa/tokens/UUSDProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/UXTZProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/UXTZProtocol.js +47 -30
- package/v1/protocol/fa/tokens/UXTZProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/WrapProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/WrapProtocol.js +47 -30
- package/v1/protocol/fa/tokens/WrapProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/WrappedTezosProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/WrappedTezosProtocol.js +47 -27
- package/v1/protocol/fa/tokens/WrappedTezosProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/YouProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/YouProtocol.js +47 -30
- package/v1/protocol/fa/tokens/YouProtocol.js.map +1 -1
- package/v1/protocol/fa/tokens/stXTZProtocol.d.ts +2 -2
- package/v1/protocol/fa/tokens/stXTZProtocol.js +47 -30
- package/v1/protocol/fa/tokens/stXTZProtocol.js.map +1 -1
- package/v1/protocol/kt/TezosKtProtocol.js +498 -254
- package/v1/protocol/kt/TezosKtProtocol.js.map +1 -1
- package/v1/protocol/sapling/TezosSaplingProtocol.d.ts +1 -0
- package/v1/protocol/sapling/TezosSaplingProtocol.js +933 -532
- package/v1/protocol/sapling/TezosSaplingProtocol.js.map +1 -1
- package/v1/protocol/sapling/TezosShieldedTezProtocol.js +164 -72
- package/v1/protocol/sapling/TezosShieldedTezProtocol.js.map +1 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +26 -14
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
- package/v1/serializer/v3/serializer-companion.js +188 -103
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/serializer/v3/validators/transaction-validator.js +143 -54
- package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
- package/v1/serializer/v3/validators/validators.js +100 -40
- package/v1/serializer/v3/validators/validators.js.map +1 -1
- package/v1/types/block-explorer.d.ts +1 -1
- package/v1/types/contract/TezosContractMetadata.d.ts +2 -2
- package/v1/types/contract/bigmap/BigMapEntry.d.ts +1 -1
- package/v1/types/crypto.d.ts +2 -2
- package/v1/types/fa/TezosFA1ContractEntrypoint.d.ts +1 -1
- package/v1/types/fa/TezosFA1p2ContractEntrypoint.d.ts +1 -1
- package/v1/types/fa/TezosFA2ContractEntrypoint.d.ts +1 -1
- package/v1/types/indexer.d.ts +1 -1
- package/v1/types/micheline/MichelineNode.d.ts +7 -7
- package/v1/types/micheline/MichelineNodeUtils.js +13 -9
- package/v1/types/micheline/MichelineNodeUtils.js.map +1 -1
- package/v1/types/michelson/MichelsonType.d.ts +1 -0
- package/v1/types/michelson/MichelsonType.js +12 -11
- package/v1/types/michelson/MichelsonType.js.map +1 -1
- package/v1/types/michelson/MichelsonTypeMeta.js +92 -45
- package/v1/types/michelson/MichelsonTypeMeta.js.map +1 -1
- package/v1/types/michelson/MichelsonTypeUtils.d.ts +1 -0
- package/v1/types/michelson/MichelsonTypeUtils.js +219 -58
- package/v1/types/michelson/MichelsonTypeUtils.js.map +1 -1
- package/v1/types/michelson/generics/MichelsonList.js +43 -24
- package/v1/types/michelson/generics/MichelsonList.js.map +1 -1
- package/v1/types/michelson/generics/MichelsonMap.js +61 -39
- package/v1/types/michelson/generics/MichelsonMap.js.map +1 -1
- package/v1/types/michelson/generics/MichelsonOption.d.ts +1 -1
- package/v1/types/michelson/generics/MichelsonOption.js +75 -46
- package/v1/types/michelson/generics/MichelsonOption.js.map +1 -1
- package/v1/types/michelson/generics/MichelsonOr.d.ts +1 -1
- package/v1/types/michelson/generics/MichelsonOr.js +76 -50
- package/v1/types/michelson/generics/MichelsonOr.js.map +1 -1
- package/v1/types/michelson/generics/MichelsonPair.js +85 -52
- package/v1/types/michelson/generics/MichelsonPair.js.map +1 -1
- package/v1/types/michelson/grammar/MichelsonGrammarData.d.ts +1 -1
- package/v1/types/michelson/grammar/MichelsonGrammarInstruction.d.ts +1 -1
- package/v1/types/michelson/grammar/MichelsonGrammarType.d.ts +1 -1
- package/v1/types/michelson/primitives/MichelsonAddress.d.ts +1 -0
- package/v1/types/michelson/primitives/MichelsonAddress.js +47 -28
- package/v1/types/michelson/primitives/MichelsonAddress.js.map +1 -1
- package/v1/types/michelson/primitives/MichelsonBool.js +39 -20
- package/v1/types/michelson/primitives/MichelsonBool.js.map +1 -1
- package/v1/types/michelson/primitives/MichelsonBytes.d.ts +1 -0
- package/v1/types/michelson/primitives/MichelsonBytes.js +54 -35
- package/v1/types/michelson/primitives/MichelsonBytes.js.map +1 -1
- package/v1/types/michelson/primitives/MichelsonInt.d.ts +1 -0
- package/v1/types/michelson/primitives/MichelsonInt.js +49 -30
- package/v1/types/michelson/primitives/MichelsonInt.js.map +1 -1
- package/v1/types/michelson/primitives/MichelsonString.d.ts +1 -0
- package/v1/types/michelson/primitives/MichelsonString.js +52 -33
- package/v1/types/michelson/primitives/MichelsonString.js.map +1 -1
- package/v1/types/michelson/primitives/MichelsonUnit.js +34 -14
- package/v1/types/michelson/primitives/MichelsonUnit.js.map +1 -1
- package/v1/types/network.js +1 -1
- package/v1/types/network.js.map +1 -1
- package/v1/types/operations/TezosOperationType.js +1 -1
- package/v1/types/operations/TezosOperationType.js.map +1 -1
- package/v1/types/protocol.d.ts +3 -3
- package/v1/types/sapling/TezosSaplingExternalMethodProvider.d.ts +1 -0
- package/v1/types/sapling/TezosSaplingStateTree.d.ts +1 -1
- package/v1/types/sapling/TezosSaplingTransaction.d.ts +1 -0
- package/v1/types/staking/TezosDelegatorAction.js +1 -1
- package/v1/types/staking/TezosDelegatorAction.js.map +1 -1
- package/v1/utils/address.js +7 -6
- package/v1/utils/address.js.map +1 -1
- package/v1/utils/bip.d.ts +1 -0
- package/v1/utils/bip.js +7 -6
- package/v1/utils/bip.js.map +1 -1
- package/v1/utils/convert.js +8 -7
- package/v1/utils/convert.js.map +1 -1
- package/v1/utils/encoding.d.ts +1 -0
- package/v1/utils/encoding.js +64 -74
- package/v1/utils/encoding.js.map +1 -1
- package/v1/utils/fa.js +3 -2
- package/v1/utils/fa.js.map +1 -1
- package/v1/utils/key.js +12 -9
- package/v1/utils/key.js.map +1 -1
- package/v1/utils/micheline.js +10 -8
- package/v1/utils/micheline.js.map +1 -1
- package/v1/utils/operations.js +22 -21
- package/v1/utils/operations.js.map +1 -1
- package/v1/utils/pack.d.ts +1 -0
- package/v1/utils/pack.js +107 -65
- package/v1/utils/pack.js.map +1 -1
- package/v1/utils/protocol/fa/TezosFA1Accountant.js +52 -24
- package/v1/utils/protocol/fa/TezosFA1Accountant.js.map +1 -1
- package/v1/utils/protocol/fa/TezosFA2Accountant.js +77 -40
- package/v1/utils/protocol/fa/TezosFA2Accountant.js.map +1 -1
- package/v1/utils/protocol/fa/TezosFAAccountant.js +89 -21
- package/v1/utils/protocol/fa/TezosFAAccountant.js.map +1 -1
- package/v1/utils/protocol/instance.js +26 -90
- package/v1/utils/protocol/instance.js.map +1 -1
- package/v1/utils/protocol/sapling/TezosSaplingAccountant.d.ts +1 -0
- package/v1/utils/protocol/sapling/TezosSaplingAccountant.js +539 -221
- package/v1/utils/protocol/sapling/TezosSaplingAccountant.js.map +1 -1
- package/v1/utils/protocol/sapling/TezosSaplingEncoder.d.ts +1 -0
- package/v1/utils/protocol/sapling/TezosSaplingEncoder.js +104 -101
- package/v1/utils/protocol/sapling/TezosSaplingEncoder.js.map +1 -1
- package/v1/utils/protocol/sapling/TezosSaplingForger.d.ts +1 -0
- package/v1/utils/protocol/sapling/TezosSaplingForger.js +266 -107
- package/v1/utils/protocol/sapling/TezosSaplingForger.js.map +1 -1
- package/v1/utils/protocol/sapling/TezosSaplingState.js +239 -110
- package/v1/utils/protocol/sapling/TezosSaplingState.js.map +1 -1
- package/v1/utils/protocol/tezos/TezosAccountant.js +166 -97
- package/v1/utils/protocol/tezos/TezosAccountant.js.map +1 -1
- package/v1/utils/protocol/tezos/TezosForger.js +76 -21
- package/v1/utils/protocol/tezos/TezosForger.js.map +1 -1
- package/v1/utils/signature.js +6 -5
- package/v1/utils/signature.js.map +1 -1
- package/v1/utils/transaction.d.ts +5 -4
- package/v1/utils/transaction.js +3 -3
- package/v1/utils/transaction.js.map +1 -1
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
18
|
if (k2 === undefined) k2 = k;
|
|
4
19
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -15,86 +30,124 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
30
|
}) : function(o, v) {
|
|
16
31
|
o["default"] = v;
|
|
17
32
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
return function (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
+
function step(op) {
|
|
54
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
+
while (_) try {
|
|
56
|
+
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;
|
|
57
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
+
switch (op[0]) {
|
|
59
|
+
case 0: case 1: t = op; break;
|
|
60
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
+
default:
|
|
64
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
+
if (t[2]) _.ops.pop();
|
|
69
|
+
_.trys.pop(); continue;
|
|
70
|
+
}
|
|
71
|
+
op = body.call(thisArg, _);
|
|
72
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
35
76
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
77
|
exports.TezosCryptoClient = void 0;
|
|
37
78
|
// @ts-ignore
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
async signMessage(message, keypair) {
|
|
52
|
-
const bufferMessage = this.toBuffer(message);
|
|
53
|
-
const hashBytes = this.hash(bufferMessage);
|
|
54
|
-
const rawSignature = (0, ed25519_1.sign)(Buffer.from(keypair.privateKey, 'hex'), hashBytes);
|
|
55
|
-
const signature = (0, encoding_1.encodeBase58)(rawSignature, 'ed25519Signature');
|
|
56
|
-
return signature;
|
|
79
|
+
var bs58 = __importStar(require("@airgap/coinlib-core/dependencies/src/bs58-4.0.1"));
|
|
80
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
81
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
82
|
+
var Ed25519CryptoClient_1 = require("@airgap/coinlib-core/protocols/Ed25519CryptoClient");
|
|
83
|
+
var blake2b_1 = require("@stablelib/blake2b");
|
|
84
|
+
var ed25519_1 = require("@stablelib/ed25519");
|
|
85
|
+
var utf8_1 = require("@stablelib/utf8");
|
|
86
|
+
var encoding_1 = require("../utils/encoding");
|
|
87
|
+
var transaction_1 = require("../utils/transaction");
|
|
88
|
+
var TezosCryptoClient = /** @class */ (function (_super) {
|
|
89
|
+
__extends(TezosCryptoClient, _super);
|
|
90
|
+
function TezosCryptoClient() {
|
|
91
|
+
return _super.call(this) || this;
|
|
57
92
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
93
|
+
TezosCryptoClient.prototype.signMessage = function (message, keypair) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
+
var bufferMessage, hashBytes, rawSignature, signature;
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
bufferMessage = this.toBuffer(message);
|
|
98
|
+
hashBytes = this.hash(bufferMessage);
|
|
99
|
+
rawSignature = (0, ed25519_1.sign)(Buffer.from(keypair.privateKey, 'hex'), hashBytes);
|
|
100
|
+
signature = (0, encoding_1.encodeBase58)(rawSignature, 'ed25519Signature');
|
|
101
|
+
return [2 /*return*/, signature];
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
TezosCryptoClient.prototype.operationSignature = function (privateKey, binaryTransaction) {
|
|
106
|
+
var watermarkedForgedOperationBytes = Buffer.concat([transaction_1.WATERMARK.operation, binaryTransaction]);
|
|
107
|
+
var hashedWatermarkedOpBytes = this.hash(watermarkedForgedOperationBytes);
|
|
61
108
|
return Buffer.from((0, ed25519_1.sign)(privateKey, hashedWatermarkedOpBytes));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
109
|
+
};
|
|
110
|
+
TezosCryptoClient.prototype.verifyMessage = function (message, signature, publicKey) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
112
|
+
var rawSignature, bufferMessage, hashBytes, isValidSignature;
|
|
113
|
+
return __generator(this, function (_a) {
|
|
114
|
+
if (signature.startsWith('edsig')) {
|
|
115
|
+
rawSignature = (0, encoding_1.decodeBase58)(signature, 'ed25519Signature');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.TEZOS, "invalid signature: ".concat(JSON.stringify(signature)));
|
|
119
|
+
}
|
|
120
|
+
bufferMessage = this.toBuffer(message);
|
|
121
|
+
hashBytes = this.hash(bufferMessage);
|
|
122
|
+
isValidSignature = (0, ed25519_1.verify)(Buffer.from(publicKey, 'hex'), hashBytes, rawSignature);
|
|
123
|
+
return [2 /*return*/, isValidSignature];
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
TezosCryptoClient.prototype.toBuffer = function (message) {
|
|
77
128
|
if (message.length % 2 !== 0) {
|
|
78
129
|
return Buffer.from((0, utf8_1.encode)(message));
|
|
79
130
|
}
|
|
80
|
-
|
|
131
|
+
var adjustedMessage = message;
|
|
81
132
|
if (message.startsWith('0x')) {
|
|
82
133
|
adjustedMessage = message.slice(2);
|
|
83
134
|
}
|
|
84
|
-
|
|
135
|
+
var buffer = Buffer.from(adjustedMessage, 'hex');
|
|
85
136
|
if (buffer.length === adjustedMessage.length / 2) {
|
|
86
137
|
return buffer;
|
|
87
138
|
}
|
|
88
139
|
return Buffer.from((0, utf8_1.encode)(message));
|
|
89
|
-
}
|
|
90
|
-
hash(message, size
|
|
140
|
+
};
|
|
141
|
+
TezosCryptoClient.prototype.hash = function (message, size) {
|
|
142
|
+
if (size === void 0) { size = 32; }
|
|
91
143
|
return Buffer.from((0, blake2b_1.hash)(message, size));
|
|
92
|
-
}
|
|
93
|
-
blake2bLedgerHash(message) {
|
|
94
|
-
|
|
95
|
-
|
|
144
|
+
};
|
|
145
|
+
TezosCryptoClient.prototype.blake2bLedgerHash = function (message) {
|
|
146
|
+
var buffer = this.toBuffer(message);
|
|
147
|
+
var hash = this.hash(buffer);
|
|
96
148
|
return bs58.encode(Buffer.from(hash));
|
|
97
|
-
}
|
|
98
|
-
|
|
149
|
+
};
|
|
150
|
+
return TezosCryptoClient;
|
|
151
|
+
}(Ed25519CryptoClient_1.Ed25519CryptoClient));
|
|
99
152
|
exports.TezosCryptoClient = TezosCryptoClient;
|
|
100
153
|
//# sourceMappingURL=TezosCryptoClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TezosCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/crypto/TezosCryptoClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TezosCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/crypto/TezosCryptoClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
|
|
2
3
|
import { SaplingPartialOutputDescription } from '@airgap/sapling-wasm';
|
|
3
4
|
import { TezosSaplingCiphertext } from '../types/sapling/TezosSaplingCiphertext';
|
|
@@ -15,130 +15,208 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) ||
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
return function (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (_) try {
|
|
41
|
+
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;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
35
61
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
62
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
63
|
};
|
|
38
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
65
|
exports.TezosSaplingCryptoClient = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
66
|
+
var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
|
|
67
|
+
var blake2b_1 = require("@airgap/coinlib-core/utils/blake2b");
|
|
68
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
69
|
+
var sapling = __importStar(require("@airgap/sapling-wasm"));
|
|
70
|
+
var nacl_1 = require("@stablelib/nacl");
|
|
71
|
+
var random_1 = require("@stablelib/random");
|
|
72
|
+
var TezosSaplingAddress_1 = require("../data/TezosSaplingAddress");
|
|
73
|
+
var TezosSaplingCryptoClient = /** @class */ (function () {
|
|
74
|
+
function TezosSaplingCryptoClient() {
|
|
49
75
|
this.ockKey = 'OCK_keystringderivation_TEZOS';
|
|
50
76
|
this.kdfKey = 'KDFSaplingForTezosV1';
|
|
51
77
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
else {
|
|
101
|
-
throw new Error('Not enough data has been provided to decrypt the ciphertext');
|
|
102
|
-
}
|
|
103
|
-
const openBox = (0, nacl_1.openSecretBox)(symKey, Buffer.from(ciphertext.nonce_enc, 'hex'), Buffer.from(ciphertext.payload_enc, 'hex'));
|
|
104
|
-
if (openBox === null) {
|
|
105
|
-
throw new Error('Failed to decrypt sapling ciphertext (enc)');
|
|
106
|
-
}
|
|
107
|
-
const decrypted = Buffer.from(openBox);
|
|
108
|
-
const diversifier = decrypted.slice(0, 11);
|
|
109
|
-
const amount = new bignumber_1.default(decrypted.slice(11, 19).toString('hex'), 16);
|
|
110
|
-
const rcm = decrypted.slice(19, 51);
|
|
111
|
-
const memoLength = new bignumber_1.default(decrypted.slice(51, 55).toString('hex'), 16);
|
|
112
|
-
const memo = decrypted.slice(55, 55 + memoLength.toNumber());
|
|
113
|
-
return {
|
|
114
|
-
diversifier,
|
|
115
|
-
address: await rawAddressFromDiversifier(diversifier),
|
|
116
|
-
amount,
|
|
117
|
-
rcm,
|
|
118
|
-
memo
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
async decryptCiphertextOut(viewingKey, ciphertext, commitment) {
|
|
122
|
-
const ovk = await sapling.getOutgoingViewingKey(viewingKey);
|
|
123
|
-
const cv = Buffer.from(ciphertext.cv, 'hex');
|
|
124
|
-
const cm = Buffer.isBuffer(commitment) ? commitment : Buffer.from(commitment, 'hex');
|
|
125
|
-
const epk = Buffer.from(ciphertext.epk, 'hex');
|
|
126
|
-
const ock = (0, blake2b_1.blake2bAsBytes)(Buffer.concat([cv, cm, epk, ovk]), 256, {
|
|
127
|
-
key: Buffer.from(this.ockKey)
|
|
78
|
+
TezosSaplingCryptoClient.prototype.encryptCiphertext = function (tezosOutput, saplingDescription, rcm, esk, viewingKey) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
+
var address, _a, ovk, diversifier, pkd, symKey, nonceEnc, plaintextEnc, payloadEnc, epk, ock, nonceOut, plaintextOut, payloadOut;
|
|
81
|
+
return __generator(this, function (_b) {
|
|
82
|
+
switch (_b.label) {
|
|
83
|
+
case 0: return [4 /*yield*/, TezosSaplingAddress_1.TezosSaplingAddress.fromValue(tezosOutput.address)];
|
|
84
|
+
case 1:
|
|
85
|
+
address = _b.sent();
|
|
86
|
+
return [4 /*yield*/, Promise.all([
|
|
87
|
+
viewingKey !== undefined ? sapling.getOutgoingViewingKey(viewingKey) : undefined,
|
|
88
|
+
sapling.getDiversifiedFromRawPaymentAddress(address.raw),
|
|
89
|
+
sapling.getPkdFromRawPaymentAddress(address.raw)
|
|
90
|
+
])];
|
|
91
|
+
case 2:
|
|
92
|
+
_a = _b.sent(), ovk = _a[0], diversifier = _a[1], pkd = _a[2];
|
|
93
|
+
return [4 /*yield*/, this.getSymmetricKey(pkd, esk)];
|
|
94
|
+
case 3:
|
|
95
|
+
symKey = _b.sent();
|
|
96
|
+
nonceEnc = (0, random_1.randomBytes)(24);
|
|
97
|
+
plaintextEnc = Buffer.concat([
|
|
98
|
+
diversifier,
|
|
99
|
+
(0, hex_1.toHexBuffer)(new bignumber_1.default(tezosOutput.value), 64, '2sComplement'),
|
|
100
|
+
rcm,
|
|
101
|
+
(0, hex_1.toHexBuffer)(tezosOutput.memo.length, 32),
|
|
102
|
+
Buffer.from(tezosOutput.memo, 'hex')
|
|
103
|
+
]);
|
|
104
|
+
payloadEnc = (0, nacl_1.secretBox)(symKey, nonceEnc, plaintextEnc);
|
|
105
|
+
return [4 /*yield*/, sapling.deriveEphemeralPublicKey(diversifier, esk)];
|
|
106
|
+
case 4:
|
|
107
|
+
epk = _b.sent();
|
|
108
|
+
ock = ovk !== undefined
|
|
109
|
+
? (0, blake2b_1.blake2bAsBytes)(Buffer.concat([saplingDescription.cv, saplingDescription.cm, epk, ovk]), 256, {
|
|
110
|
+
key: Buffer.from(this.ockKey)
|
|
111
|
+
})
|
|
112
|
+
: (0, random_1.randomBytes)(32);
|
|
113
|
+
nonceOut = (0, random_1.randomBytes)(24);
|
|
114
|
+
plaintextOut = Buffer.concat([pkd, esk]);
|
|
115
|
+
payloadOut = (0, nacl_1.secretBox)(ock, nonceOut, plaintextOut);
|
|
116
|
+
return [2 /*return*/, {
|
|
117
|
+
cv: saplingDescription.cv.toString('hex'),
|
|
118
|
+
epk: epk.toString('hex'),
|
|
119
|
+
payload_enc: Buffer.from(payloadEnc).toString('hex'),
|
|
120
|
+
nonce_enc: Buffer.from(nonceEnc).toString('hex'),
|
|
121
|
+
payload_out: Buffer.from(payloadOut).toString('hex'),
|
|
122
|
+
nonce_out: Buffer.from(nonceOut).toString('hex')
|
|
123
|
+
}];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
128
126
|
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
127
|
+
};
|
|
128
|
+
TezosSaplingCryptoClient.prototype.decryptCiphertextEnc = function (viewingKey, ciphertext, mode, commitment) {
|
|
129
|
+
if (mode === void 0) { mode = 'receiver'; }
|
|
130
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
131
|
+
var symKey, rawAddressFromDiversifier, ivk_1, _a, pkd_1, esk, openBox, decrypted, diversifier, amount, rcm, memoLength, memo;
|
|
132
|
+
var _b;
|
|
133
|
+
return __generator(this, function (_c) {
|
|
134
|
+
switch (_c.label) {
|
|
135
|
+
case 0:
|
|
136
|
+
if (!(mode === 'receiver')) return [3 /*break*/, 3];
|
|
137
|
+
return [4 /*yield*/, sapling.getIncomingViewingKey(viewingKey)];
|
|
138
|
+
case 1:
|
|
139
|
+
ivk_1 = _c.sent();
|
|
140
|
+
return [4 /*yield*/, this.getSymmetricKey(ciphertext.epk, ivk_1)];
|
|
141
|
+
case 2:
|
|
142
|
+
symKey = _c.sent();
|
|
143
|
+
rawAddressFromDiversifier = function (diversifier) { return sapling.getRawPaymentAddressFromIncomingViewingKey(ivk_1, diversifier); };
|
|
144
|
+
return [3 /*break*/, 7];
|
|
145
|
+
case 3:
|
|
146
|
+
if (!(mode === 'sender' && commitment !== undefined)) return [3 /*break*/, 6];
|
|
147
|
+
return [4 /*yield*/, this.decryptCiphertextOut(viewingKey, ciphertext, commitment)];
|
|
148
|
+
case 4:
|
|
149
|
+
_a = _c.sent(), pkd_1 = _a.pkd, esk = _a.esk;
|
|
150
|
+
return [4 /*yield*/, this.getSymmetricKey(pkd_1, esk)];
|
|
151
|
+
case 5:
|
|
152
|
+
symKey = _c.sent();
|
|
153
|
+
rawAddressFromDiversifier = function (diversifier) { return Promise.resolve(Buffer.concat([diversifier, pkd_1])); };
|
|
154
|
+
return [3 /*break*/, 7];
|
|
155
|
+
case 6: throw new Error('Not enough data has been provided to decrypt the ciphertext');
|
|
156
|
+
case 7:
|
|
157
|
+
openBox = (0, nacl_1.openSecretBox)(symKey, Buffer.from(ciphertext.nonce_enc, 'hex'), Buffer.from(ciphertext.payload_enc, 'hex'));
|
|
158
|
+
if (openBox === null) {
|
|
159
|
+
throw new Error('Failed to decrypt sapling ciphertext (enc)');
|
|
160
|
+
}
|
|
161
|
+
decrypted = Buffer.from(openBox);
|
|
162
|
+
diversifier = decrypted.slice(0, 11);
|
|
163
|
+
amount = new bignumber_1.default(decrypted.slice(11, 19).toString('hex'), 16);
|
|
164
|
+
rcm = decrypted.slice(19, 51);
|
|
165
|
+
memoLength = new bignumber_1.default(decrypted.slice(51, 55).toString('hex'), 16);
|
|
166
|
+
memo = decrypted.slice(55, 55 + memoLength.toNumber());
|
|
167
|
+
_b = {
|
|
168
|
+
diversifier: diversifier
|
|
169
|
+
};
|
|
170
|
+
return [4 /*yield*/, rawAddressFromDiversifier(diversifier)];
|
|
171
|
+
case 8: return [2 /*return*/, (_b.address = _c.sent(),
|
|
172
|
+
_b.amount = amount,
|
|
173
|
+
_b.rcm = rcm,
|
|
174
|
+
_b.memo = memo,
|
|
175
|
+
_b)];
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
TezosSaplingCryptoClient.prototype.decryptCiphertextOut = function (viewingKey, ciphertext, commitment) {
|
|
181
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
182
|
+
var ovk, cv, cm, epk, ock, openBox, decrypted, pkd, esk;
|
|
183
|
+
return __generator(this, function (_a) {
|
|
184
|
+
switch (_a.label) {
|
|
185
|
+
case 0: return [4 /*yield*/, sapling.getOutgoingViewingKey(viewingKey)];
|
|
186
|
+
case 1:
|
|
187
|
+
ovk = _a.sent();
|
|
188
|
+
cv = Buffer.from(ciphertext.cv, 'hex');
|
|
189
|
+
cm = Buffer.isBuffer(commitment) ? commitment : Buffer.from(commitment, 'hex');
|
|
190
|
+
epk = Buffer.from(ciphertext.epk, 'hex');
|
|
191
|
+
ock = (0, blake2b_1.blake2bAsBytes)(Buffer.concat([cv, cm, epk, ovk]), 256, {
|
|
192
|
+
key: Buffer.from(this.ockKey)
|
|
193
|
+
});
|
|
194
|
+
openBox = (0, nacl_1.openSecretBox)(ock, Buffer.from(ciphertext.nonce_out, 'hex'), Buffer.from(ciphertext.payload_out, 'hex'));
|
|
195
|
+
if (openBox === null) {
|
|
196
|
+
throw new Error('Failed to decrypt sapling ciphertext (out)');
|
|
197
|
+
}
|
|
198
|
+
decrypted = Buffer.from(openBox);
|
|
199
|
+
pkd = decrypted.slice(0, 32);
|
|
200
|
+
esk = decrypted.slice(32);
|
|
201
|
+
return [2 /*return*/, { pkd: pkd, esk: esk }];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
TezosSaplingCryptoClient.prototype.getSymmetricKey = function (p, sk) {
|
|
207
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
208
|
+
var ka;
|
|
209
|
+
return __generator(this, function (_a) {
|
|
210
|
+
switch (_a.label) {
|
|
211
|
+
case 0: return [4 /*yield*/, sapling.keyAgreement(p, sk)];
|
|
212
|
+
case 1:
|
|
213
|
+
ka = _a.sent();
|
|
214
|
+
return [2 /*return*/, Buffer.from((0, blake2b_1.blake2bAsBytes)(ka, 256, { key: Buffer.from(this.kdfKey) }))];
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
return TezosSaplingCryptoClient;
|
|
220
|
+
}());
|
|
143
221
|
exports.TezosSaplingCryptoClient = TezosSaplingCryptoClient;
|
|
144
222
|
//# sourceMappingURL=TezosSaplingCryptoClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TezosSaplingCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/crypto/TezosSaplingCryptoClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TezosSaplingCryptoClient.js","sourceRoot":"","sources":["../../../src/v1/crypto/TezosSaplingCryptoClient.ts"],"names":[],"mappings":"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"}
|