@airgap/substrate 0.13.7-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +7 -0
- package/airgap-coinlib-substrate.min.js +70760 -0
- package/index.d.ts +18 -0
- package/index.js +31 -0
- package/index.js.map +1 -0
- package/package.json +65 -0
- package/protocol/SubstrateCryptoClient.d.ts +9 -0
- package/protocol/SubstrateCryptoClient.js +98 -0
- package/protocol/SubstrateCryptoClient.js.map +1 -0
- package/protocol/SubstrateDelegateProtocol.d.ts +31 -0
- package/protocol/SubstrateDelegateProtocol.js +562 -0
- package/protocol/SubstrateDelegateProtocol.js.map +1 -0
- package/protocol/SubstrateNetwork.d.ts +6 -0
- package/protocol/SubstrateNetwork.js +11 -0
- package/protocol/SubstrateNetwork.js.map +1 -0
- package/protocol/SubstrateProtocol.d.ts +88 -0
- package/protocol/SubstrateProtocol.js +682 -0
- package/protocol/SubstrateProtocol.js.map +1 -0
- package/protocol/SubstrateProtocolOptions.d.ts +34 -0
- package/protocol/SubstrateProtocolOptions.js +114 -0
- package/protocol/SubstrateProtocolOptions.js.map +1 -0
- package/protocol/SubstrateTypes.d.ts +14 -0
- package/protocol/SubstrateTypes.js +3 -0
- package/protocol/SubstrateTypes.js.map +1 -0
- package/protocol/astar/AstarAddress.d.ts +6 -0
- package/protocol/astar/AstarAddress.js +32 -0
- package/protocol/astar/AstarAddress.js.map +1 -0
- package/protocol/common/SubstrateAccountController.d.ts +38 -0
- package/protocol/common/SubstrateAccountController.js +717 -0
- package/protocol/common/SubstrateAccountController.js.map +1 -0
- package/protocol/common/SubstrateTransactionController.d.ts +40 -0
- package/protocol/common/SubstrateTransactionController.js +382 -0
- package/protocol/common/SubstrateTransactionController.js.map +1 -0
- package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.d.ts +9 -0
- package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js +111 -0
- package/protocol/common/blockexplorer/SubstrateBlockExplorerClient.js.map +1 -0
- package/protocol/common/data/account/SubstrateAccountInfo.d.ts +21 -0
- package/protocol/common/data/account/SubstrateAccountInfo.js +45 -0
- package/protocol/common/data/account/SubstrateAccountInfo.js.map +1 -0
- package/protocol/common/data/account/SubstrateAddress.d.ts +21 -0
- package/protocol/common/data/account/SubstrateAddress.js +93 -0
- package/protocol/common/data/account/SubstrateAddress.js.map +1 -0
- package/protocol/common/data/account/SubstrateRegistration.d.ts +35 -0
- package/protocol/common/data/account/SubstrateRegistration.js +88 -0
- package/protocol/common/data/account/SubstrateRegistration.js.map +1 -0
- package/protocol/common/data/metadata/Metadata.d.ts +10 -0
- package/protocol/common/data/metadata/Metadata.js +51 -0
- package/protocol/common/data/metadata/Metadata.js.map +1 -0
- package/protocol/common/data/metadata/MetadataVersioned.d.ts +6 -0
- package/protocol/common/data/metadata/MetadataVersioned.js +10 -0
- package/protocol/common/data/metadata/MetadataVersioned.js.map +1 -0
- package/protocol/common/data/metadata/decorator/MetadataDecorator.d.ts +13 -0
- package/protocol/common/data/metadata/decorator/MetadataDecorator.js +29 -0
- package/protocol/common/data/metadata/decorator/MetadataDecorator.js.map +1 -0
- package/protocol/common/data/metadata/decorator/call/SubstrateCall.d.ts +6 -0
- package/protocol/common/data/metadata/decorator/call/SubstrateCall.js +3 -0
- package/protocol/common/data/metadata/decorator/call/SubstrateCall.js.map +1 -0
- package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.d.ts +7 -0
- package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.js +3 -0
- package/protocol/common/data/metadata/decorator/constant/SubstrateConstant.js.map +1 -0
- package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.d.ts +43 -0
- package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js +265 -0
- package/protocol/common/data/metadata/decorator/storage/SubstrateStorageEntry.js.map +1 -0
- package/protocol/common/data/metadata/v11/MetadataV11.d.ts +19 -0
- package/protocol/common/data/metadata/v11/MetadataV11.js +99 -0
- package/protocol/common/data/metadata/v11/MetadataV11.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Call.d.ts +21 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Call.js +63 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Call.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Constant.d.ts +15 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Constant.js +45 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Constant.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Error.d.ts +12 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Error.js +41 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Error.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Event.d.ts +13 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Event.js +43 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Event.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Module.d.ts +23 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Module.js +58 -0
- package/protocol/common/data/metadata/v11/module/MetadataV11Module.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.d.ts +13 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js +42 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11Storage.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.d.ts +23 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js +53 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntry.js.map +1 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.d.ts +52 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js +157 -0
- package/protocol/common/data/metadata/v11/module/storage/MetadataV11StorageEntryType.js.map +1 -0
- package/protocol/common/data/metadata/v12/MetadataV12.d.ts +18 -0
- package/protocol/common/data/metadata/v12/MetadataV12.js +95 -0
- package/protocol/common/data/metadata/v12/MetadataV12.js.map +1 -0
- package/protocol/common/data/metadata/v12/module/MetadataV12Module.d.ts +19 -0
- package/protocol/common/data/metadata/v12/module/MetadataV12Module.js +39 -0
- package/protocol/common/data/metadata/v12/module/MetadataV12Module.js.map +1 -0
- package/protocol/common/data/metadata/v13/MetadataV13.d.ts +18 -0
- package/protocol/common/data/metadata/v13/MetadataV13.js +95 -0
- package/protocol/common/data/metadata/v13/MetadataV13.js.map +1 -0
- package/protocol/common/data/metadata/v13/module/MetadataV13Module.d.ts +25 -0
- package/protocol/common/data/metadata/v13/module/MetadataV13Module.js +66 -0
- package/protocol/common/data/metadata/v13/module/MetadataV13Module.js.map +1 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.d.ts +13 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js +42 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13Storage.js.map +1 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.d.ts +23 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js +53 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntry.js.map +1 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.d.ts +64 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js +182 -0
- package/protocol/common/data/metadata/v13/module/storage/MetadataV13StorageEntryType.js.map +1 -0
- package/protocol/common/data/metadata/v14/MetadataV14.d.ts +23 -0
- package/protocol/common/data/metadata/v14/MetadataV14.js +113 -0
- package/protocol/common/data/metadata/v14/MetadataV14.js.map +1 -0
- package/protocol/common/data/metadata/v14/MetadataV14Component.d.ts +8 -0
- package/protocol/common/data/metadata/v14/MetadataV14Component.js +29 -0
- package/protocol/common/data/metadata/v14/MetadataV14Component.js.map +1 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.d.ts +14 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js +42 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14Extrinsic.js.map +1 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.d.ts +13 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js +41 -0
- package/protocol/common/data/metadata/v14/extrinsic/MetadataV14SignedExtension.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.d.ts +6 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js +35 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Call.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.d.ts +15 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js +44 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Constant.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.d.ts +6 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js +35 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Error.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.d.ts +6 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js +35 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Event.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.d.ts +25 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js +61 -0
- package/protocol/common/data/metadata/v14/pallet/MetadataV14Pallet.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.d.ts +13 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js +41 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14Storage.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.d.ts +23 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js +53 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntry.js.map +1 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.d.ts +38 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js +122 -0
- package/protocol/common/data/metadata/v14/pallet/storage/MetadataV14StorageEntryType.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.d.ts +15 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js +52 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableRegistry.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.d.ts +13 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js +42 -0
- package/protocol/common/data/metadata/v14/registry/MetadataV14PortableType.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.d.ts +17 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js +45 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiField.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.d.ts +17 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js +47 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiType.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.d.ts +14 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js +41 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiTypeParameter.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.d.ts +17 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js +46 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14SiVariant.js.map +1 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.d.ts +81 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js +255 -0
- package/protocol/common/data/metadata/v14/registry/si/MetadataV14TypeDef.js.map +1 -0
- package/protocol/common/data/scale/SCALEDecoder.d.ts +49 -0
- package/protocol/common/data/scale/SCALEDecoder.js +92 -0
- package/protocol/common/data/scale/SCALEDecoder.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEAccountId.d.ts +16 -0
- package/protocol/common/data/scale/type/SCALEAccountId.js +64 -0
- package/protocol/common/data/scale/type/SCALEAccountId.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEArray.d.ts +11 -0
- package/protocol/common/data/scale/type/SCALEArray.js +63 -0
- package/protocol/common/data/scale/type/SCALEArray.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEBoolean.d.ts +10 -0
- package/protocol/common/data/scale/type/SCALEBoolean.js +46 -0
- package/protocol/common/data/scale/type/SCALEBoolean.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEBytes.d.ts +11 -0
- package/protocol/common/data/scale/type/SCALEBytes.js +61 -0
- package/protocol/common/data/scale/type/SCALEBytes.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEClass.d.ts +6 -0
- package/protocol/common/data/scale/type/SCALEClass.js +32 -0
- package/protocol/common/data/scale/type/SCALEClass.js.map +1 -0
- package/protocol/common/data/scale/type/SCALECompactInt.d.ts +26 -0
- package/protocol/common/data/scale/type/SCALECompactInt.js +129 -0
- package/protocol/common/data/scale/type/SCALECompactInt.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEData.d.ts +20 -0
- package/protocol/common/data/scale/type/SCALEData.js +110 -0
- package/protocol/common/data/scale/type/SCALEData.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEEnum.d.ts +10 -0
- package/protocol/common/data/scale/type/SCALEEnum.js +55 -0
- package/protocol/common/data/scale/type/SCALEEnum.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEEra.d.ts +21 -0
- package/protocol/common/data/scale/type/SCALEEra.js +100 -0
- package/protocol/common/data/scale/type/SCALEEra.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEHash.d.ts +13 -0
- package/protocol/common/data/scale/type/SCALEHash.js +74 -0
- package/protocol/common/data/scale/type/SCALEHash.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEInt.d.ts +27 -0
- package/protocol/common/data/scale/type/SCALEInt.js +96 -0
- package/protocol/common/data/scale/type/SCALEInt.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEMultiAddress.d.ts +32 -0
- package/protocol/common/data/scale/type/SCALEMultiAddress.js +139 -0
- package/protocol/common/data/scale/type/SCALEMultiAddress.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEOptional.d.ts +17 -0
- package/protocol/common/data/scale/type/SCALEOptional.js +70 -0
- package/protocol/common/data/scale/type/SCALEOptional.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEString.d.ts +13 -0
- package/protocol/common/data/scale/type/SCALEString.js +59 -0
- package/protocol/common/data/scale/type/SCALEString.js.map +1 -0
- package/protocol/common/data/scale/type/SCALETuple.d.ts +13 -0
- package/protocol/common/data/scale/type/SCALETuple.js +53 -0
- package/protocol/common/data/scale/type/SCALETuple.js.map +1 -0
- package/protocol/common/data/scale/type/SCALEType.d.ts +11 -0
- package/protocol/common/data/scale/type/SCALEType.js +15 -0
- package/protocol/common/data/scale/type/SCALEType.js.map +1 -0
- package/protocol/common/data/staking/SubstrateActiveEraInfo.d.ts +9 -0
- package/protocol/common/data/staking/SubstrateActiveEraInfo.js +20 -0
- package/protocol/common/data/staking/SubstrateActiveEraInfo.js.map +1 -0
- package/protocol/common/data/staking/SubstrateEraElectionStatus.d.ts +13 -0
- package/protocol/common/data/staking/SubstrateEraElectionStatus.js +27 -0
- package/protocol/common/data/staking/SubstrateEraElectionStatus.js.map +1 -0
- package/protocol/common/data/staking/SubstrateEraRewardPoints.d.ts +11 -0
- package/protocol/common/data/staking/SubstrateEraRewardPoints.js +24 -0
- package/protocol/common/data/staking/SubstrateEraRewardPoints.js.map +1 -0
- package/protocol/common/data/staking/SubstrateExposure.d.ts +12 -0
- package/protocol/common/data/staking/SubstrateExposure.js +26 -0
- package/protocol/common/data/staking/SubstrateExposure.js.map +1 -0
- package/protocol/common/data/staking/SubstrateNominationStatus.d.ts +5 -0
- package/protocol/common/data/staking/SubstrateNominationStatus.js +10 -0
- package/protocol/common/data/staking/SubstrateNominationStatus.js.map +1 -0
- package/protocol/common/data/staking/SubstrateNominations.d.ts +12 -0
- package/protocol/common/data/staking/SubstrateNominations.js +22 -0
- package/protocol/common/data/staking/SubstrateNominations.js.map +1 -0
- package/protocol/common/data/staking/SubstrateNominatorDetails.d.ts +24 -0
- package/protocol/common/data/staking/SubstrateNominatorDetails.js +3 -0
- package/protocol/common/data/staking/SubstrateNominatorDetails.js.map +1 -0
- package/protocol/common/data/staking/SubstratePayee.d.ts +5 -0
- package/protocol/common/data/staking/SubstratePayee.js +10 -0
- package/protocol/common/data/staking/SubstratePayee.js.map +1 -0
- package/protocol/common/data/staking/SubstrateSlashingSpans.d.ts +11 -0
- package/protocol/common/data/staking/SubstrateSlashingSpans.js +24 -0
- package/protocol/common/data/staking/SubstrateSlashingSpans.js.map +1 -0
- package/protocol/common/data/staking/SubstrateStakingActionType.d.ts +14 -0
- package/protocol/common/data/staking/SubstrateStakingActionType.js +19 -0
- package/protocol/common/data/staking/SubstrateStakingActionType.js.map +1 -0
- package/protocol/common/data/staking/SubstrateStakingLedger.d.ts +15 -0
- package/protocol/common/data/staking/SubstrateStakingLedger.js +30 -0
- package/protocol/common/data/staking/SubstrateStakingLedger.js.map +1 -0
- package/protocol/common/data/staking/SubstrateValidatorDetails.d.ts +16 -0
- package/protocol/common/data/staking/SubstrateValidatorDetails.js +3 -0
- package/protocol/common/data/staking/SubstrateValidatorDetails.js.map +1 -0
- package/protocol/common/data/staking/SubstrateValidatorPrefs.d.ts +7 -0
- package/protocol/common/data/staking/SubstrateValidatorPrefs.js +17 -0
- package/protocol/common/data/staking/SubstrateValidatorPrefs.js.map +1 -0
- package/protocol/common/data/state/SubstrateRuntimeVersion.d.ts +9 -0
- package/protocol/common/data/state/SubstrateRuntimeVersion.js +3 -0
- package/protocol/common/data/state/SubstrateRuntimeVersion.js.map +1 -0
- package/protocol/common/data/transaction/SubstrateSignature.d.ts +22 -0
- package/protocol/common/data/transaction/SubstrateSignature.js +71 -0
- package/protocol/common/data/transaction/SubstrateSignature.js.map +1 -0
- package/protocol/common/data/transaction/SubstrateTransaction.d.ts +72 -0
- package/protocol/common/data/transaction/SubstrateTransaction.js +129 -0
- package/protocol/common/data/transaction/SubstrateTransaction.js.map +1 -0
- package/protocol/common/data/transaction/SubstrateTransactionPayload.d.ts +33 -0
- package/protocol/common/data/transaction/SubstrateTransactionPayload.js +91 -0
- package/protocol/common/data/transaction/SubstrateTransactionPayload.js.map +1 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethod.d.ts +18 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethod.js +82 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethod.js.map +1 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.d.ts +18 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js +963 -0
- package/protocol/common/data/transaction/method/SubstrateTransactionMethodArgs.js.map +1 -0
- package/protocol/common/node/SubstrateNodeClient.d.ts +81 -0
- package/protocol/common/node/SubstrateNodeClient.js +560 -0
- package/protocol/common/node/SubstrateNodeClient.js.map +1 -0
- package/protocol/common/node/supported.d.ts +44 -0
- package/protocol/common/node/supported.js +119 -0
- package/protocol/common/node/supported.js.map +1 -0
- package/protocol/compat/SubstrateCompatAddress.d.ts +40 -0
- package/protocol/compat/SubstrateCompatAddress.js +81 -0
- package/protocol/compat/SubstrateCompatAddress.js.map +1 -0
- package/protocol/compat/SubstrateCompatSignature.d.ts +16 -0
- package/protocol/compat/SubstrateCompatSignature.js +34 -0
- package/protocol/compat/SubstrateCompatSignature.js.map +1 -0
- package/protocol/kusama/KusamaAddress.d.ts +6 -0
- package/protocol/kusama/KusamaAddress.js +32 -0
- package/protocol/kusama/KusamaAddress.js.map +1 -0
- package/protocol/moonbeam/MoonbeamAddress.d.ts +14 -0
- package/protocol/moonbeam/MoonbeamAddress.js +75 -0
- package/protocol/moonbeam/MoonbeamAddress.js.map +1 -0
- package/protocol/moonbeam/MoonbeamSignature.d.ts +10 -0
- package/protocol/moonbeam/MoonbeamSignature.js +44 -0
- package/protocol/moonbeam/MoonbeamSignature.js.map +1 -0
- package/protocol/polkadot/PolkadotAddress.d.ts +6 -0
- package/protocol/polkadot/PolkadotAddress.js +32 -0
- package/protocol/polkadot/PolkadotAddress.js.map +1 -0
- package/readme.md +121 -0
- package/types/signed-transaction-substrate.d.ts +3 -0
- package/types/signed-transaction-substrate.js +3 -0
- package/types/signed-transaction-substrate.js.map +1 -0
- package/types/transaction-substrate.d.ts +3 -0
- package/types/transaction-substrate.js +3 -0
- package/types/transaction-substrate.js.map +1 -0
- package/types/unsigned-transaction-substrate.d.ts +8 -0
- package/types/unsigned-transaction-substrate.js +3 -0
- package/types/unsigned-transaction-substrate.js.map +1 -0
- package/utils/sr25519.d.ts +2 -0
- package/utils/sr25519.js +99 -0
- package/utils/sr25519.js.map +1 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.SCALECompactInt = void 0;
|
|
20
|
+
var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
|
|
21
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
22
|
+
var padStart_1 = require("@airgap/coinlib-core/utils/padStart");
|
|
23
|
+
var SCALEType_1 = require("./SCALEType");
|
|
24
|
+
var SCALECompactInt = /** @class */ (function (_super) {
|
|
25
|
+
__extends(SCALECompactInt, _super);
|
|
26
|
+
function SCALECompactInt(value) {
|
|
27
|
+
var _this = _super.call(this) || this;
|
|
28
|
+
_this.value = value;
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
SCALECompactInt.from = function (value) {
|
|
32
|
+
return new SCALECompactInt(bignumber_1.default.isBigNumber(value) ? value : new bignumber_1.default(value));
|
|
33
|
+
};
|
|
34
|
+
SCALECompactInt.decode = function (hex) {
|
|
35
|
+
var _hex = hex_1.stripHexPrefix(hex);
|
|
36
|
+
var firstByte = padStart_1.padStart(parseInt(_hex.substr(0, 2), 16).toString(2), 8, '0');
|
|
37
|
+
var mode = parseInt(firstByte.slice(-2), 2);
|
|
38
|
+
var bytes;
|
|
39
|
+
var metaBits;
|
|
40
|
+
if (mode === 3) {
|
|
41
|
+
bytes = parseInt(firstByte.slice(0, -2), 2) + 5; // + 4 bytes of original length + 1 byte of meta
|
|
42
|
+
metaBits = 8;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
bytes = 1 << mode;
|
|
46
|
+
metaBits = 2;
|
|
47
|
+
}
|
|
48
|
+
var encodedHex = _hex.substr(0, bytes * 2);
|
|
49
|
+
var encodedBin = padStart_1.padStart(new bignumber_1.default(hex_1.changeEndianness(encodedHex), 16).toString(2), metaBits + 1, '0');
|
|
50
|
+
return {
|
|
51
|
+
bytesDecoded: bytes,
|
|
52
|
+
decoded: SCALECompactInt.from(new bignumber_1.default(encodedBin.slice(0, -metaBits), 2))
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
SCALECompactInt.prototype.toString = function (base) {
|
|
56
|
+
if (base === void 0) { base = 10; }
|
|
57
|
+
return this.value.toString(base);
|
|
58
|
+
};
|
|
59
|
+
SCALECompactInt.prototype.toNumber = function () {
|
|
60
|
+
return this.value.toNumber();
|
|
61
|
+
};
|
|
62
|
+
SCALECompactInt.prototype.plus = function (other) {
|
|
63
|
+
return this.applyOperation(other, bignumber_1.default.prototype.plus);
|
|
64
|
+
};
|
|
65
|
+
SCALECompactInt.prototype.minus = function (other) {
|
|
66
|
+
return this.applyOperation(other, bignumber_1.default.prototype.minus);
|
|
67
|
+
};
|
|
68
|
+
SCALECompactInt.prototype.multiply = function (other) {
|
|
69
|
+
return this.applyOperation(other, bignumber_1.default.prototype.multipliedBy);
|
|
70
|
+
};
|
|
71
|
+
SCALECompactInt.prototype.divide = function (other) {
|
|
72
|
+
return this.applyOperation(other, bignumber_1.default.prototype.dividedBy);
|
|
73
|
+
};
|
|
74
|
+
SCALECompactInt.prototype.lt = function (other) {
|
|
75
|
+
return this.performOperation(other, bignumber_1.default.prototype.lt);
|
|
76
|
+
};
|
|
77
|
+
SCALECompactInt.prototype.lte = function (other) {
|
|
78
|
+
return this.performOperation(other, bignumber_1.default.prototype.lte);
|
|
79
|
+
};
|
|
80
|
+
SCALECompactInt.prototype.gt = function (other) {
|
|
81
|
+
return this.performOperation(other, bignumber_1.default.prototype.gt);
|
|
82
|
+
};
|
|
83
|
+
SCALECompactInt.prototype.gte = function (other) {
|
|
84
|
+
return this.performOperation(other, bignumber_1.default.prototype.gte);
|
|
85
|
+
};
|
|
86
|
+
SCALECompactInt.prototype.eq = function (other) {
|
|
87
|
+
return this.performOperation(other, bignumber_1.default.prototype.eq);
|
|
88
|
+
};
|
|
89
|
+
SCALECompactInt.prototype._encode = function (config) {
|
|
90
|
+
var bits = this.value.toString(2).length;
|
|
91
|
+
var mode;
|
|
92
|
+
if (bits <= 6) {
|
|
93
|
+
// 0b00: single-byte mode, upper six bits are the LE encoding of the value (valid only for values of 0-63)
|
|
94
|
+
mode = 0;
|
|
95
|
+
}
|
|
96
|
+
else if (bits <= 14) {
|
|
97
|
+
// 0b01: two-byte mode: upper six bits and the following byte is the LE encoding of the value (valid only for values 64-(2**14-1))
|
|
98
|
+
mode = 1;
|
|
99
|
+
}
|
|
100
|
+
else if (bits <= 30) {
|
|
101
|
+
// 0b10: four-byte mode: upper six bits and the following three bytes are the LE encoding of the value (valid only for values (2**14)-(2**30-1))
|
|
102
|
+
mode = 2;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// 0b11: Big-integer mode: The upper six bits are the number of bytes following, less four. The value is contained, LE encoded, in the bytes following. The final (most significant) byte must be non-zero. Valid only for values (2**30)-(2**536-1)
|
|
106
|
+
mode = 3;
|
|
107
|
+
}
|
|
108
|
+
var bytes = mode === 3 ? Math.ceil(bits / 8) : Math.pow(2, mode);
|
|
109
|
+
var value = mode === 3
|
|
110
|
+
? this.value.multipliedBy(64).plus(bytes - 4) // value << 6 + number of bytes less 4
|
|
111
|
+
: this.value;
|
|
112
|
+
var encodedValue = value.multipliedBy(4).plus(mode); // value << 2 + mode
|
|
113
|
+
return hex_1.changeEndianness(hex_1.toHexStringRaw(encodedValue, bytes * 8));
|
|
114
|
+
};
|
|
115
|
+
SCALECompactInt.prototype.applyOperation = function (other, operation) {
|
|
116
|
+
return new SCALECompactInt(this.performOperation(other, operation));
|
|
117
|
+
};
|
|
118
|
+
SCALECompactInt.prototype.performOperation = function (other, operation) {
|
|
119
|
+
if (typeof other === 'number' || bignumber_1.default.isBigNumber(other)) {
|
|
120
|
+
return operation.apply(this.value, [other]);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return this.performOperation(other.value, operation);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
return SCALECompactInt;
|
|
127
|
+
}(SCALEType_1.SCALEType));
|
|
128
|
+
exports.SCALECompactInt = SCALECompactInt;
|
|
129
|
+
//# sourceMappingURL=SCALECompactInt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCALECompactInt.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALECompactInt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { SCALEDecodeResult } from '../SCALEDecoder';
|
|
3
|
+
import { SCALEEncodeConfig, SCALEType } from './SCALEType';
|
|
4
|
+
export declare enum SCALEDataType {
|
|
5
|
+
None = 0,
|
|
6
|
+
Raw = 1,
|
|
7
|
+
BlakeTwo256 = 2,
|
|
8
|
+
Sha256 = 3,
|
|
9
|
+
Keccak256 = 4,
|
|
10
|
+
ShaThree256 = 5
|
|
11
|
+
}
|
|
12
|
+
export declare class SCALEData extends SCALEType {
|
|
13
|
+
readonly type: SCALEDataType;
|
|
14
|
+
readonly bytes: Buffer | null;
|
|
15
|
+
static from(type: SCALEDataType, bytes?: string | Uint8Array | Buffer): SCALEData;
|
|
16
|
+
static decode(hex: string): SCALEDecodeResult<SCALEData>;
|
|
17
|
+
constructor(type: SCALEDataType, bytes: Buffer | null);
|
|
18
|
+
toString(): string;
|
|
19
|
+
protected _encode(config?: SCALEEncodeConfig): string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SCALEData = exports.SCALEDataType = void 0;
|
|
17
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
18
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
19
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
20
|
+
var SCALEBytes_1 = require("./SCALEBytes");
|
|
21
|
+
var SCALEType_1 = require("./SCALEType");
|
|
22
|
+
var SCALEDataType;
|
|
23
|
+
(function (SCALEDataType) {
|
|
24
|
+
SCALEDataType[SCALEDataType["None"] = 0] = "None";
|
|
25
|
+
SCALEDataType[SCALEDataType["Raw"] = 1] = "Raw";
|
|
26
|
+
SCALEDataType[SCALEDataType["BlakeTwo256"] = 2] = "BlakeTwo256";
|
|
27
|
+
SCALEDataType[SCALEDataType["Sha256"] = 3] = "Sha256";
|
|
28
|
+
SCALEDataType[SCALEDataType["Keccak256"] = 4] = "Keccak256";
|
|
29
|
+
SCALEDataType[SCALEDataType["ShaThree256"] = 5] = "ShaThree256";
|
|
30
|
+
})(SCALEDataType = exports.SCALEDataType || (exports.SCALEDataType = {}));
|
|
31
|
+
var SCALEData = /** @class */ (function (_super) {
|
|
32
|
+
__extends(SCALEData, _super);
|
|
33
|
+
function SCALEData(type, bytes) {
|
|
34
|
+
var _this = _super.call(this) || this;
|
|
35
|
+
_this.type = type;
|
|
36
|
+
_this.bytes = bytes;
|
|
37
|
+
return _this;
|
|
38
|
+
}
|
|
39
|
+
SCALEData.from = function (type, bytes) {
|
|
40
|
+
var dataType = type;
|
|
41
|
+
var buffer;
|
|
42
|
+
if (typeof bytes === 'string' && hex_1.isHex(bytes)) {
|
|
43
|
+
buffer = Buffer.from(hex_1.stripHexPrefix(bytes), 'hex');
|
|
44
|
+
}
|
|
45
|
+
else if (bytes && !(typeof bytes === 'string')) {
|
|
46
|
+
buffer = Buffer.from(bytes);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
dataType = SCALEDataType.None;
|
|
50
|
+
buffer = null;
|
|
51
|
+
}
|
|
52
|
+
return new SCALEData(dataType, buffer);
|
|
53
|
+
};
|
|
54
|
+
SCALEData.decode = function (hex) {
|
|
55
|
+
var encoded = hex_1.hexToBytes(hex);
|
|
56
|
+
var indicator = encoded[0];
|
|
57
|
+
var bytesDecoded;
|
|
58
|
+
var type;
|
|
59
|
+
if (indicator === 0) {
|
|
60
|
+
bytesDecoded = 1;
|
|
61
|
+
type = SCALEDataType.None;
|
|
62
|
+
}
|
|
63
|
+
else if (indicator >= 1 && indicator <= 33) {
|
|
64
|
+
bytesDecoded = indicator;
|
|
65
|
+
type = SCALEDataType.Raw;
|
|
66
|
+
}
|
|
67
|
+
else if (indicator >= 34 && indicator <= 37) {
|
|
68
|
+
bytesDecoded = 32 + 1;
|
|
69
|
+
type = SCALEDataType[SCALEDataType[indicator - 32]];
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEData#decode: Unknown data type');
|
|
73
|
+
}
|
|
74
|
+
var buffer = type !== SCALEDataType.None ? SCALEBytes_1.SCALEBytes.from(encoded.subarray(1, bytesDecoded)).bytes : null;
|
|
75
|
+
return {
|
|
76
|
+
bytesDecoded: bytesDecoded,
|
|
77
|
+
decoded: new SCALEData(type, buffer)
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
SCALEData.prototype.toString = function () {
|
|
81
|
+
if (this.type !== SCALEDataType.None && this.bytes === null) {
|
|
82
|
+
throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#toString: type is " + SCALEDataType[this.type] + " but data is null.");
|
|
83
|
+
}
|
|
84
|
+
switch (this.type) {
|
|
85
|
+
case SCALEDataType.None:
|
|
86
|
+
return 'null';
|
|
87
|
+
case SCALEDataType.Raw:
|
|
88
|
+
var textDecoder = new TextDecoder();
|
|
89
|
+
return textDecoder.decode(this.bytes);
|
|
90
|
+
default:
|
|
91
|
+
return ''; // TODO: add support for other types
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
SCALEData.prototype._encode = function (config) {
|
|
95
|
+
if (this.type !== SCALEDataType.None && this.bytes === null) {
|
|
96
|
+
throw new errors_1.ConditionViolationError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#encode: type is " + SCALEDataType[this.type] + " but data is null.");
|
|
97
|
+
}
|
|
98
|
+
switch (this.type) {
|
|
99
|
+
case SCALEDataType.None:
|
|
100
|
+
return '0';
|
|
101
|
+
case SCALEDataType.Raw:
|
|
102
|
+
return SCALEBytes_1.SCALEBytes.from(this.bytes).encode(config);
|
|
103
|
+
default:
|
|
104
|
+
throw new errors_1.UnsupportedError(coinlib_error_1.Domain.SUBSTRATE, "SCALEData#encode: type " + SCALEDataType[this.type] + " is not supported.");
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
return SCALEData;
|
|
108
|
+
}(SCALEType_1.SCALEType));
|
|
109
|
+
exports.SCALEData = SCALEData;
|
|
110
|
+
//# sourceMappingURL=SCALEData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCALEData.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SCALEDecodeResult } from '../SCALEDecoder';
|
|
2
|
+
import { SCALEEncodeConfig, SCALEType } from './SCALEType';
|
|
3
|
+
export declare class SCALEEnum<T> extends SCALEType {
|
|
4
|
+
readonly value: T;
|
|
5
|
+
static from<T>(value: T): SCALEEnum<T>;
|
|
6
|
+
static decode<T>(hex: string, getEnumValue: (value: number) => T | null): SCALEDecodeResult<SCALEEnum<T>>;
|
|
7
|
+
private constructor();
|
|
8
|
+
toString(): string;
|
|
9
|
+
protected _encode(config?: SCALEEncodeConfig): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SCALEEnum = void 0;
|
|
17
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
18
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
19
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
20
|
+
var SCALEType_1 = require("./SCALEType");
|
|
21
|
+
var SCALEEnum = /** @class */ (function (_super) {
|
|
22
|
+
__extends(SCALEEnum, _super);
|
|
23
|
+
function SCALEEnum(value) {
|
|
24
|
+
var _this = _super.call(this) || this;
|
|
25
|
+
_this.value = value;
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
SCALEEnum.from = function (value) {
|
|
29
|
+
if (!(typeof value === 'number')) {
|
|
30
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEnum#from: Invalid enum value');
|
|
31
|
+
}
|
|
32
|
+
return new SCALEEnum(value);
|
|
33
|
+
};
|
|
34
|
+
SCALEEnum.decode = function (hex, getEnumValue) {
|
|
35
|
+
var _hex = hex_1.stripHexPrefix(hex);
|
|
36
|
+
var value = parseInt(_hex.substring(0, 2), 16);
|
|
37
|
+
var enumValue = getEnumValue(value);
|
|
38
|
+
if (enumValue === null) {
|
|
39
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEnum#decode: Unknown enum value');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
bytesDecoded: 1,
|
|
43
|
+
decoded: SCALEEnum.from(enumValue)
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
SCALEEnum.prototype.toString = function () {
|
|
47
|
+
return this.value.toString();
|
|
48
|
+
};
|
|
49
|
+
SCALEEnum.prototype._encode = function (config) {
|
|
50
|
+
return hex_1.toHexStringRaw(this.value);
|
|
51
|
+
};
|
|
52
|
+
return SCALEEnum;
|
|
53
|
+
}(SCALEType_1.SCALEType));
|
|
54
|
+
exports.SCALEEnum = SCALEEnum;
|
|
55
|
+
//# sourceMappingURL=SCALEEnum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCALEEnum.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEEnum.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,sDAA+E;AAG/E,yCAA0D;AAE1D;IAAkC,6BAAS;IAyBzC,mBAA6B,KAAQ;QAArC,YACE,iBAAO,SACR;QAF4B,WAAK,GAAL,KAAK,CAAG;;IAErC,CAAC;IA1Ba,cAAI,GAAlB,UAAsB,KAAQ;QAC5B,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YAChC,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAA;SACpF;QAED,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAEa,gBAAM,GAApB,UAAwB,GAAW,EAAE,YAAyC;QAC5E,IAAM,IAAI,GAAG,oBAAc,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAChD,IAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAErC,IAAI,SAAS,KAAK,IAAI,EAAE;YACtB,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAA;SACtF;QAED,OAAO;YACL,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;SACnC,CAAA;IACH,CAAC;IAMM,4BAAQ,GAAf;QACE,OAAS,IAAI,CAAC,KAAwB,CAAC,QAAQ,EAAE,CAAA;IACnD,CAAC;IAES,2BAAO,GAAjB,UAAkB,MAA0B;QAC1C,OAAO,oBAAc,CAAE,IAAI,CAAC,KAAuB,CAAC,CAAA;IACtD,CAAC;IACH,gBAAC;AAAD,CAAC,AApCD,CAAkC,qBAAS,GAoC1C;AApCY,8BAAS"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
|
|
2
|
+
import { SCALEDecodeResult } from '../SCALEDecoder';
|
|
3
|
+
import { SCALEEncodeConfig, SCALEType } from './SCALEType';
|
|
4
|
+
export interface EraConfig {
|
|
5
|
+
chainHeight: number | BigNumber;
|
|
6
|
+
period?: number | BigNumber;
|
|
7
|
+
}
|
|
8
|
+
export declare class SCALEEra extends SCALEType {
|
|
9
|
+
readonly period: number;
|
|
10
|
+
readonly phase: number;
|
|
11
|
+
static Immortal(): SCALEEra;
|
|
12
|
+
static Mortal(config: EraConfig): SCALEEra;
|
|
13
|
+
readonly isMortal: boolean;
|
|
14
|
+
static decode(hex: string): SCALEDecodeResult<SCALEEra>;
|
|
15
|
+
private static decodeImmortal;
|
|
16
|
+
private static decodeMortal;
|
|
17
|
+
private constructor();
|
|
18
|
+
toString(): string;
|
|
19
|
+
protected _encode(config?: SCALEEncodeConfig): string;
|
|
20
|
+
private getTrailingZeros;
|
|
21
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.SCALEEra = void 0;
|
|
20
|
+
var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
|
|
21
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
22
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
23
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
24
|
+
var SCALEType_1 = require("./SCALEType");
|
|
25
|
+
var IMMORTAL_ENCODED = '00';
|
|
26
|
+
var ERA_DEFAULT_PERIOD = 50; // 5 min at 6s block times
|
|
27
|
+
var SCALEEra = /** @class */ (function (_super) {
|
|
28
|
+
__extends(SCALEEra, _super);
|
|
29
|
+
function SCALEEra(period, phase) {
|
|
30
|
+
var _this = _super.call(this) || this;
|
|
31
|
+
_this.period = period;
|
|
32
|
+
_this.phase = phase;
|
|
33
|
+
return _this;
|
|
34
|
+
}
|
|
35
|
+
SCALEEra.Immortal = function () {
|
|
36
|
+
return new SCALEEra(0, 0);
|
|
37
|
+
};
|
|
38
|
+
SCALEEra.Mortal = function (config) {
|
|
39
|
+
var chainHeight = bignumber_1.default.isBigNumber(config.chainHeight) ? config.chainHeight.toNumber() : config.chainHeight;
|
|
40
|
+
var period = bignumber_1.default.isBigNumber(config.period) ? config.period.toNumber() : config.period;
|
|
41
|
+
period = Math.pow(2, Math.ceil(Math.log2(period || ERA_DEFAULT_PERIOD)));
|
|
42
|
+
period = Math.min(Math.max(period, 4), 1 << 16);
|
|
43
|
+
var phase = chainHeight % period;
|
|
44
|
+
var quantizeFactor = Math.max(period >> 12, 1);
|
|
45
|
+
var quantizePhase = (phase / quantizeFactor) * quantizeFactor;
|
|
46
|
+
return new SCALEEra(period, quantizePhase);
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(SCALEEra.prototype, "isMortal", {
|
|
49
|
+
get: function () {
|
|
50
|
+
return this.period !== 0;
|
|
51
|
+
},
|
|
52
|
+
enumerable: false,
|
|
53
|
+
configurable: true
|
|
54
|
+
});
|
|
55
|
+
SCALEEra.decode = function (hex) {
|
|
56
|
+
var _hex = hex_1.stripHexPrefix(hex);
|
|
57
|
+
return _hex.substr(0, 2) === IMMORTAL_ENCODED ? SCALEEra.decodeImmortal() : SCALEEra.decodeMortal(_hex);
|
|
58
|
+
};
|
|
59
|
+
SCALEEra.decodeImmortal = function () {
|
|
60
|
+
return {
|
|
61
|
+
bytesDecoded: 1,
|
|
62
|
+
decoded: SCALEEra.Immortal()
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
SCALEEra.decodeMortal = function (hex) {
|
|
66
|
+
var encoded = parseInt(hex_1.changeEndianness(hex.substr(0, 4)), 16);
|
|
67
|
+
var period = 2 << encoded % (1 << 4);
|
|
68
|
+
var quantizeFactor = Math.max(period >> 12, 1);
|
|
69
|
+
var phase = (encoded >> 4) * quantizeFactor;
|
|
70
|
+
if (period < 4 || period < phase) {
|
|
71
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEEra#decodeMortal: Invalid mortal era');
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
bytesDecoded: 2,
|
|
75
|
+
decoded: new SCALEEra(period, phase)
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
SCALEEra.prototype.toString = function () {
|
|
79
|
+
return JSON.stringify({
|
|
80
|
+
isMortal: this.isMortal,
|
|
81
|
+
period: this.period,
|
|
82
|
+
phase: this.phase
|
|
83
|
+
}, null, 2);
|
|
84
|
+
};
|
|
85
|
+
SCALEEra.prototype._encode = function (config) {
|
|
86
|
+
if (!this.isMortal) {
|
|
87
|
+
return IMMORTAL_ENCODED;
|
|
88
|
+
}
|
|
89
|
+
var quantizeFactor = Math.max(this.period >> 12, 1);
|
|
90
|
+
var trailingZeros = this.getTrailingZeros(this.period);
|
|
91
|
+
var encoded = Math.min(15, Math.max(1, trailingZeros - 1)) + ((this.phase / quantizeFactor) << 4);
|
|
92
|
+
return hex_1.changeEndianness(hex_1.toHexStringRaw(encoded, 16));
|
|
93
|
+
};
|
|
94
|
+
SCALEEra.prototype.getTrailingZeros = function (value) {
|
|
95
|
+
return value.toString(2).split('').reverse().join('').indexOf('1');
|
|
96
|
+
};
|
|
97
|
+
return SCALEEra;
|
|
98
|
+
}(SCALEType_1.SCALEType));
|
|
99
|
+
exports.SCALEEra = SCALEEra;
|
|
100
|
+
//# sourceMappingURL=SCALEEra.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCALEEra.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEEra.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { SCALEDecodeResult } from '../SCALEDecoder';
|
|
3
|
+
import { SCALEEncodeConfig, SCALEType } from './SCALEType';
|
|
4
|
+
export declare class SCALEHash extends SCALEType {
|
|
5
|
+
readonly value: Buffer;
|
|
6
|
+
static empty(bitLength?: number): SCALEHash;
|
|
7
|
+
static from(bytes: string | Buffer | Uint8Array): SCALEHash;
|
|
8
|
+
static decode(hex: string, bitLength: number): SCALEDecodeResult<SCALEHash>;
|
|
9
|
+
readonly isEmpty: boolean;
|
|
10
|
+
private constructor();
|
|
11
|
+
toString(encoding?: BufferEncoding): string;
|
|
12
|
+
protected _encode(config?: SCALEEncodeConfig): string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.SCALEHash = void 0;
|
|
17
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
18
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
19
|
+
var hex_1 = require("@airgap/coinlib-core/utils/hex");
|
|
20
|
+
var SCALEType_1 = require("./SCALEType");
|
|
21
|
+
var SCALEHash = /** @class */ (function (_super) {
|
|
22
|
+
__extends(SCALEHash, _super);
|
|
23
|
+
function SCALEHash(value) {
|
|
24
|
+
var _this = _super.call(this) || this;
|
|
25
|
+
_this.value = value;
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
SCALEHash.empty = function (bitLength) {
|
|
29
|
+
if (bitLength === void 0) { bitLength = 0; }
|
|
30
|
+
var byteLength = Math.ceil(bitLength / 8);
|
|
31
|
+
var u8a = new Uint8Array(byteLength);
|
|
32
|
+
u8a.fill(0);
|
|
33
|
+
return new SCALEHash(Buffer.from(u8a));
|
|
34
|
+
};
|
|
35
|
+
SCALEHash.from = function (bytes) {
|
|
36
|
+
var buffer;
|
|
37
|
+
if (typeof bytes === 'string' && hex_1.isHex(bytes)) {
|
|
38
|
+
buffer = Buffer.from(hex_1.stripHexPrefix(bytes), 'hex');
|
|
39
|
+
}
|
|
40
|
+
else if (!(typeof bytes === 'string')) {
|
|
41
|
+
buffer = Buffer.from(bytes);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new errors_1.InvalidValueError(coinlib_error_1.Domain.SUBSTRATE, 'SCALEHash#from: Unknown bytes type.');
|
|
45
|
+
}
|
|
46
|
+
return new SCALEHash(buffer);
|
|
47
|
+
};
|
|
48
|
+
SCALEHash.decode = function (hex, bitLength) {
|
|
49
|
+
var _hex = hex_1.stripHexPrefix(hex);
|
|
50
|
+
var nibbles = Math.ceil(bitLength / 4);
|
|
51
|
+
var hash = _hex.substr(0, nibbles);
|
|
52
|
+
return {
|
|
53
|
+
bytesDecoded: Math.ceil(nibbles / 2),
|
|
54
|
+
decoded: SCALEHash.from(hash)
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(SCALEHash.prototype, "isEmpty", {
|
|
58
|
+
get: function () {
|
|
59
|
+
return this.value.length === 0 || this.value.every(function (value) { return value === 0; });
|
|
60
|
+
},
|
|
61
|
+
enumerable: false,
|
|
62
|
+
configurable: true
|
|
63
|
+
});
|
|
64
|
+
SCALEHash.prototype.toString = function (encoding) {
|
|
65
|
+
if (encoding === void 0) { encoding = 'hex'; }
|
|
66
|
+
return this.value.toString(encoding);
|
|
67
|
+
};
|
|
68
|
+
SCALEHash.prototype._encode = function (config) {
|
|
69
|
+
return this.value.toString('hex');
|
|
70
|
+
};
|
|
71
|
+
return SCALEHash;
|
|
72
|
+
}(SCALEType_1.SCALEType));
|
|
73
|
+
exports.SCALEHash = SCALEHash;
|
|
74
|
+
//# sourceMappingURL=SCALEHash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SCALEHash.js","sourceRoot":"","sources":["../../../../../../src/protocol/common/data/scale/type/SCALEHash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAA+D;AAC/D,2EAAkE;AAClE,sDAAsE;AAGtE,yCAA0D;AAE1D;IAA+B,6BAAS;IAsCtC,mBAA6B,KAAa;QAA1C,YACE,iBAAO,SACR;QAF4B,WAAK,GAAL,KAAK,CAAQ;;IAE1C,CAAC;IAvCa,eAAK,GAAnB,UAAoB,SAAqB;QAArB,0BAAA,EAAA,aAAqB;QACvC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QAC3C,IAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;QACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAEX,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACxC,CAAC;IAEa,cAAI,GAAlB,UAAmB,KAAmC;QACpD,IAAI,MAAc,CAAA;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAK,CAAC,KAAK,CAAC,EAAE;YAC7C,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;SACnD;aAAM,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YACvC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC5B;aAAM;YACL,MAAM,IAAI,0BAAiB,CAAC,sBAAM,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAA;SACrF;QAED,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAEa,gBAAM,GAApB,UAAqB,GAAW,EAAE,SAAiB;QACjD,IAAM,IAAI,GAAG,oBAAc,CAAC,GAAG,CAAC,CAAA;QAEhC,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;QACxC,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAA;IACH,CAAC;IAED,sBAAW,8BAAO;aAAlB;YACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,CAAC,EAAX,CAAW,CAAC,CAAA;QAC5E,CAAC;;;OAAA;IAMM,4BAAQ,GAAf,UAAgB,QAAgC;QAAhC,yBAAA,EAAA,gBAAgC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAES,2BAAO,GAAjB,UAAkB,MAA0B;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IACH,gBAAC;AAAD,CAAC,AAjDD,CAA+B,qBAAS,GAiDvC;AAjDY,8BAAS"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
|
|
2
|
+
import { SCALEDecodeResult } from '../SCALEDecoder';
|
|
3
|
+
import { SCALECompactInt } from './SCALECompactInt';
|
|
4
|
+
import { SCALEEncodeConfig, SCALEType } from './SCALEType';
|
|
5
|
+
declare type Number = SCALECompactInt | SCALEInt | BigNumber | number;
|
|
6
|
+
export declare class SCALEInt extends SCALEType {
|
|
7
|
+
readonly value: BigNumber;
|
|
8
|
+
readonly bitLength?: number | undefined;
|
|
9
|
+
static from(value: number | BigNumber | string, bitLength?: number): SCALEInt;
|
|
10
|
+
static decode(hex: string, bitLength?: number): SCALEDecodeResult<SCALEInt>;
|
|
11
|
+
private constructor();
|
|
12
|
+
toString(base?: number): string;
|
|
13
|
+
toNumber(): number;
|
|
14
|
+
plus(other: Number): SCALEInt;
|
|
15
|
+
minus(other: Number): SCALEInt;
|
|
16
|
+
multiply(other: Number): SCALEInt;
|
|
17
|
+
divide(other: Number): SCALEInt;
|
|
18
|
+
lt(other: Number): boolean;
|
|
19
|
+
lte(other: Number): boolean;
|
|
20
|
+
gt(other: Number): boolean;
|
|
21
|
+
gte(other: Number): boolean;
|
|
22
|
+
eq(other: Number): boolean;
|
|
23
|
+
protected _encode(config?: SCALEEncodeConfig): string;
|
|
24
|
+
private applyOperation;
|
|
25
|
+
private performOperation;
|
|
26
|
+
}
|
|
27
|
+
export {};
|