@wallfree-dev/cosmos-core 0.13.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/LICENSE.md +7 -0
  2. package/index.d.ts +1 -0
  3. package/index.js +18 -0
  4. package/index.js.map +1 -0
  5. package/package.json +59 -0
  6. package/readme.md +11 -0
  7. package/v1/index.d.ts +18 -0
  8. package/v1/index.js +29 -0
  9. package/v1/index.js.map +1 -0
  10. package/v1/node/CosmosNodeClient.d.ts +29 -0
  11. package/v1/node/CosmosNodeClient.js +383 -0
  12. package/v1/node/CosmosNodeClient.js.map +1 -0
  13. package/v1/protocol/CosmosBaseProtocol.d.ts +100 -0
  14. package/v1/protocol/CosmosBaseProtocol.js +999 -0
  15. package/v1/protocol/CosmosBaseProtocol.js.map +1 -0
  16. package/v1/protocol/CosmosCryptoClient.d.ts +8 -0
  17. package/v1/protocol/CosmosCryptoClient.js +90 -0
  18. package/v1/protocol/CosmosCryptoClient.js.map +1 -0
  19. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +7 -0
  20. package/v1/serializer/v3/schemas/converter/transaction-converter.js +37 -0
  21. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  22. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-cosmos.d.ts +4 -0
  23. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-cosmos.js +3 -0
  24. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-cosmos.js.map +1 -0
  25. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-cosmos.d.ts +3 -0
  26. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-cosmos.js +3 -0
  27. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-cosmos.js.map +1 -0
  28. package/v1/serializer/v3/schemas/generated/transaction-sign-request-cosmos.json +100 -0
  29. package/v1/serializer/v3/schemas/generated/transaction-sign-response-cosmos.json +19 -0
  30. package/v1/serializer/v3/validators/transaction-validators.d.ts +7 -0
  31. package/v1/serializer/v3/validators/transaction-validators.js +88 -0
  32. package/v1/serializer/v3/validators/transaction-validators.js.map +1 -0
  33. package/v1/types/crypto.d.ts +2 -0
  34. package/v1/types/crypto.js +3 -0
  35. package/v1/types/crypto.js.map +1 -0
  36. package/v1/types/data/CosmosAddress.d.ts +7 -0
  37. package/v1/types/data/CosmosAddress.js +30 -0
  38. package/v1/types/data/CosmosAddress.js.map +1 -0
  39. package/v1/types/data/CosmosCoin.d.ts +18 -0
  40. package/v1/types/data/CosmosCoin.js +56 -0
  41. package/v1/types/data/CosmosCoin.js.map +1 -0
  42. package/v1/types/data/CosmosFee.d.ts +15 -0
  43. package/v1/types/data/CosmosFee.js +31 -0
  44. package/v1/types/data/CosmosFee.js.map +1 -0
  45. package/v1/types/data/transaction/CosmosTransaction.d.ts +36 -0
  46. package/v1/types/data/transaction/CosmosTransaction.js +109 -0
  47. package/v1/types/data/transaction/CosmosTransaction.js.map +1 -0
  48. package/v1/types/data/transaction/message/CosmosDelegateMessage.d.ts +19 -0
  49. package/v1/types/data/transaction/message/CosmosDelegateMessage.js +70 -0
  50. package/v1/types/data/transaction/message/CosmosDelegateMessage.js.map +1 -0
  51. package/v1/types/data/transaction/message/CosmosMessage.d.ts +39 -0
  52. package/v1/types/data/transaction/message/CosmosMessage.js +48 -0
  53. package/v1/types/data/transaction/message/CosmosMessage.js.map +1 -0
  54. package/v1/types/data/transaction/message/CosmosSendMessage.d.ts +19 -0
  55. package/v1/types/data/transaction/message/CosmosSendMessage.js +83 -0
  56. package/v1/types/data/transaction/message/CosmosSendMessage.js.map +1 -0
  57. package/v1/types/data/transaction/message/CosmosWithdrawDelegationRewardMessage.d.ts +23 -0
  58. package/v1/types/data/transaction/message/CosmosWithdrawDelegationRewardMessage.js +61 -0
  59. package/v1/types/data/transaction/message/CosmosWithdrawDelegationRewardMessage.js.map +1 -0
  60. package/v1/types/protocol.d.ts +10 -0
  61. package/v1/types/protocol.js +3 -0
  62. package/v1/types/protocol.js.map +1 -0
  63. package/v1/types/rpc.d.ts +292 -0
  64. package/v1/types/rpc.js +3 -0
  65. package/v1/types/rpc.js.map +1 -0
  66. package/v1/types/transaction.d.ts +50 -0
  67. package/v1/types/transaction.js +18 -0
  68. package/v1/types/transaction.js.map +1 -0
  69. package/v1/utils/key.d.ts +3 -0
  70. package/v1/utils/key.js +20 -0
  71. package/v1/utils/key.js.map +1 -0
  72. package/v1/utils/signature.d.ts +2 -0
  73. package/v1/utils/signature.js +13 -0
  74. package/v1/utils/signature.js.map +1 -0
  75. package/v1/utils/transaction.d.ts +1 -0
  76. package/v1/utils/transaction.js +8 -0
  77. package/v1/utils/transaction.js.map +1 -0
@@ -0,0 +1,100 @@
1
+ import { DelegateeDetails, DelegatorDetails } from '@wallfree-dev/coinlib-core';
2
+ import { DelegationDetails } from '@wallfree-dev/coinlib-core/protocols/ICoinDelegateProtocol';
3
+ import { Address, AirGapProtocol, AirGapTransaction, AirGapTransactionsWithCursor, Amount, Balance, CryptoDerivative, FeeDefaults, KeyPair, ProtocolMetadata, PublicKey, SecretKey, Signature, TransactionFullConfiguration, TransactionDetails } from '@wallfree-dev/module-kit';
4
+ import { AirGapDelegateProtocol } from '@wallfree-dev/module-kit/internal';
5
+ import { CosmosCryptoConfiguration } from '../types/crypto';
6
+ import { CosmosTransaction } from '../types/data/transaction/CosmosTransaction';
7
+ import { CosmosProtocolNetwork, CosmosProtocolOptions } from '../types/protocol';
8
+ import { CosmosDelegation, CosmosUnbondingDelegation, CosmosValidator } from '../types/rpc';
9
+ import { CosmosDelegationActionType, CosmosSignedTransaction, CosmosTransactionCursor, CosmosUnsignedTransaction } from '../types/transaction';
10
+ export interface CosmosBaseProtocol<_Units extends string> extends AirGapProtocol<{
11
+ AddressResult: Address;
12
+ ProtocolNetwork: CosmosProtocolNetwork;
13
+ CryptoConfiguration: CosmosCryptoConfiguration;
14
+ SignedTransaction: CosmosSignedTransaction;
15
+ TransactionCursor: CosmosTransactionCursor;
16
+ Units: _Units;
17
+ FeeEstimation: FeeDefaults<_Units>;
18
+ UnsignedTransaction: CosmosUnsignedTransaction;
19
+ }, 'Crypto', 'FetchDataForAddress'> {
20
+ getKeyPairFromSecretKey(secretKey: SecretKey): Promise<KeyPair>;
21
+ }
22
+ export interface CosmosBaseStakingProtocol<_Units extends string> extends CosmosBaseProtocol<_Units>, AirGapDelegateProtocol {
23
+ prepareDelegatorActionFromPublicKey(publicKey: PublicKey, type: CosmosDelegationActionType, data?: {
24
+ validator: Address;
25
+ amount?: string;
26
+ }): Promise<CosmosTransaction[]>;
27
+ undelegate(publicKey: PublicKey, validatorAddress: Address, amount: Amount<_Units>, memo?: string): Promise<CosmosTransaction>;
28
+ delegate(publicKey: PublicKey, validatorAddress: Address | string[], amount: Amount<_Units>, undelegate: boolean, memo?: string): Promise<CosmosTransaction>;
29
+ withdrawDelegationRewards(publicKey: PublicKey, validatorAddresses: Address[], memo?: string): Promise<CosmosTransaction>;
30
+ withdrawAllDelegationRewards(delegatorAddress: Address, fee: Amount<_Units>, memo?: string): Promise<string>;
31
+ fetchTotalReward(delegatorAddress: Address): Promise<Amount<_Units>>;
32
+ fetchRewardForDelegation(delegatorAddress: Address, validatorAddress: Address): Promise<Amount<_Units>>;
33
+ fetchDelegations(address: Address): Promise<CosmosDelegation[]>;
34
+ fetchTotalDelegatedAmount(address: Address): Promise<Amount<_Units>>;
35
+ fetchValidator(address: Address): Promise<CosmosValidator>;
36
+ fetchValidators(): Promise<CosmosValidator[]>;
37
+ fetchUnbondingDelegations(delegatorAddress: Address): Promise<CosmosUnbondingDelegation[]>;
38
+ fetchTotalUnbondingAmount(address: Address): Promise<Amount<_Units>>;
39
+ fetchSelfDelegation(address: Address): Promise<CosmosDelegation>;
40
+ }
41
+ export declare abstract class CosmosBaseProtocolImpl<_Units extends string> implements CosmosBaseStakingProtocol<_Units> {
42
+ protected readonly options: CosmosProtocolOptions<_Units>;
43
+ private readonly nodeClient;
44
+ private readonly cryptoClient;
45
+ private readonly cryptoConfiguration;
46
+ constructor(options: CosmosProtocolOptions<_Units>);
47
+ getKeyPairFromSecretKey(secretKey: SecretKey): Promise<KeyPair>;
48
+ getCryptoConfiguration(): Promise<CosmosCryptoConfiguration>;
49
+ getKeyPairFromDerivative(derivative: CryptoDerivative): Promise<KeyPair>;
50
+ signTransactionWithSecretKey(transaction: CosmosUnsignedTransaction, secretKey: SecretKey): Promise<CosmosSignedTransaction>;
51
+ abstract getMetadata(): Promise<ProtocolMetadata<_Units, _Units>>;
52
+ getAddressFromPublicKey(publicKey: PublicKey): Promise<string>;
53
+ getDetailsFromTransaction(transaction: CosmosSignedTransaction | CosmosUnsignedTransaction, publicKey: PublicKey): Promise<AirGapTransaction<_Units, _Units>[]>;
54
+ private getDetailsFromSignedTransaction;
55
+ private getDetailsFromUnsignedTransaction;
56
+ getNetwork(): Promise<CosmosProtocolNetwork>;
57
+ getTransactionsForPublicKey(publicKey: PublicKey, limit: number, cursor?: CosmosTransactionCursor | undefined): Promise<AirGapTransactionsWithCursor<CosmosTransactionCursor, _Units, _Units>>;
58
+ getBalanceOfPublicKey(publicKey: PublicKey, configuration?: undefined): Promise<Balance<_Units>>;
59
+ getTransactionMaxAmountWithPublicKey(publicKey: PublicKey, to: string[], configuration?: TransactionFullConfiguration<_Units> | undefined): Promise<Amount<_Units>>;
60
+ abstract getTransactionFeeWithPublicKey(publicKey: PublicKey, details: TransactionDetails<_Units>[]): Promise<FeeDefaults<_Units>>;
61
+ prepareTransactionWithPublicKey(publicKey: PublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionFullConfiguration<_Units> | undefined): Promise<CosmosUnsignedTransaction>;
62
+ broadcastTransaction(transaction: CosmosSignedTransaction): Promise<string>;
63
+ signMessageWithKeyPair(message: string, keyPair: KeyPair): Promise<Signature>;
64
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey): Promise<boolean>;
65
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair): Promise<string>;
66
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey): Promise<string>;
67
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>;
68
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey): Promise<string>;
69
+ getTransactionsForAddress(address: string, limit: number, cursor?: CosmosTransactionCursor | undefined): Promise<AirGapTransactionsWithCursor<CosmosTransactionCursor, _Units, _Units>>;
70
+ getBalanceOfAddress(address: string, _configuration?: undefined): Promise<Balance<_Units>>;
71
+ getDefaultDelegatee(): Promise<string>;
72
+ getCurrentDelegateesForPublicKey(publicKey: PublicKey): Promise<string[]>;
73
+ getCurrentDelegateesForAddress(address: string): Promise<string[]>;
74
+ getDelegateeDetails(address: string): Promise<DelegateeDetails>;
75
+ isPublicKeyDelegating(publicKey: PublicKey): Promise<boolean>;
76
+ isAddressDelegating(address: string): Promise<boolean>;
77
+ getDelegatorDetailsFromPublicKey(publicKey: PublicKey): Promise<DelegatorDetails>;
78
+ getDelegatorDetailsFromAddress(address: string): Promise<DelegatorDetails>;
79
+ private getDelegatorDetails;
80
+ private getAvailableDelegatorActions;
81
+ getDelegationDetailsFromPublicKey(publicKey: PublicKey, delegatees: string[]): Promise<DelegationDetails>;
82
+ getDelegationDetailsFromAddress(address: string, delegatees: string[]): Promise<DelegationDetails>;
83
+ prepareDelegatorActionFromPublicKey(publicKey: PublicKey, type: CosmosDelegationActionType, data?: {
84
+ validator: string;
85
+ amount?: string;
86
+ } | undefined): Promise<CosmosTransaction[]>;
87
+ undelegate(publicKey: PublicKey, validatorAddress: string, amount: Amount<_Units>, memo?: string | undefined): Promise<CosmosTransaction>;
88
+ delegate(publicKey: PublicKey, validatorAddress: string | string[], amount: Amount<_Units>, undelegate: boolean, memo?: string | undefined): Promise<CosmosTransaction>;
89
+ withdrawDelegationRewards(publicKey: PublicKey, _validatorAddresses: string[], memo?: string | undefined): Promise<CosmosTransaction>;
90
+ withdrawAllDelegationRewards(delegatorAddress: string, fee: Amount<_Units>, memo?: string | undefined): Promise<string>;
91
+ fetchTotalReward(delegatorAddress: string): Promise<Amount<_Units>>;
92
+ fetchRewardForDelegation(delegatorAddress: string, validatorAddress: string): Promise<Amount<_Units>>;
93
+ fetchDelegations(address: string): Promise<CosmosDelegation[]>;
94
+ fetchTotalDelegatedAmount(address: string): Promise<Amount<_Units>>;
95
+ fetchValidator(address: string): Promise<CosmosValidator>;
96
+ fetchValidators(): Promise<CosmosValidator[]>;
97
+ fetchUnbondingDelegations(delegatorAddress: string): Promise<CosmosUnbondingDelegation[]>;
98
+ fetchTotalUnbondingAmount(address: string): Promise<Amount<_Units>>;
99
+ fetchSelfDelegation(address: string): Promise<CosmosDelegation>;
100
+ }