@airgap/ethereum 0.13.21-beta.7 → 0.13.22-beta.0

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 (76) hide show
  1. package/package.json +7 -7
  2. package/v1/clients/crypto/EthereumCryptoClient.d.ts +7 -0
  3. package/v1/clients/crypto/EthereumCryptoClient.js +147 -0
  4. package/v1/clients/crypto/EthereumCryptoClient.js.map +1 -0
  5. package/v1/clients/info/EthereumInfoClient.d.ts +9 -7
  6. package/v1/clients/info/EthereumInfoClient.js.map +1 -1
  7. package/v1/clients/info/EtherscanInfoClient.d.ts +2 -1
  8. package/v1/clients/info/EtherscanInfoClient.js +0 -2
  9. package/v1/clients/info/EtherscanInfoClient.js.map +1 -1
  10. package/v1/clients/node/EthereumNodeClient.d.ts +18 -0
  11. package/v1/clients/node/EthereumNodeClient.js +3 -0
  12. package/v1/clients/node/EthereumNodeClient.js.map +1 -0
  13. package/v1/clients/node/HttpEthereumNodeClient.d.ts +66 -0
  14. package/v1/clients/node/HttpEthereumNodeClient.js +443 -0
  15. package/v1/clients/node/HttpEthereumNodeClient.js.map +1 -0
  16. package/v1/data/EthereumAddress.d.ts +7 -0
  17. package/v1/data/EthereumAddress.js +46 -0
  18. package/v1/data/EthereumAddress.js.map +1 -0
  19. package/v1/index.d.ts +19 -6
  20. package/v1/index.js +16 -1
  21. package/v1/index.js.map +1 -1
  22. package/v1/module/ERC20Tokens.d.ts +1 -1
  23. package/v1/module/EthereumModule.d.ts +4 -4
  24. package/v1/module/EthereumModule.js.map +1 -1
  25. package/v1/protocol/EthereumBaseProtocol.d.ts +84 -7
  26. package/v1/protocol/EthereumBaseProtocol.js +779 -8
  27. package/v1/protocol/EthereumBaseProtocol.js.map +1 -1
  28. package/v1/protocol/EthereumChainIds.d.ts +1 -0
  29. package/v1/protocol/EthereumChainIds.js +340 -0
  30. package/v1/protocol/EthereumChainIds.js.map +1 -0
  31. package/v1/protocol/EthereumProtocol.d.ts +6 -7
  32. package/v1/protocol/EthereumProtocol.js +3 -4
  33. package/v1/protocol/EthereumProtocol.js.map +1 -1
  34. package/v1/protocol/erc20/ERC20Protocol.d.ts +32 -0
  35. package/v1/protocol/erc20/ERC20Protocol.js +397 -0
  36. package/v1/protocol/erc20/ERC20Protocol.js.map +1 -0
  37. package/v1/protocol/erc20/ERC20Token.d.ts +15 -10
  38. package/v1/protocol/erc20/ERC20Token.js +26 -35
  39. package/v1/protocol/erc20/ERC20Token.js.map +1 -1
  40. package/v1/serializer/v3/schemas/converter/transaction-converter.d.ts +8 -0
  41. package/v1/serializer/v3/schemas/converter/transaction-converter.js +76 -0
  42. package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -0
  43. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum-typed.d.ts +10 -0
  44. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum-typed.js +3 -0
  45. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum-typed.js.map +1 -0
  46. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum.d.ts +14 -0
  47. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum.js +3 -0
  48. package/v1/serializer/v3/schemas/definitions/transaction-sign-request-ethereum.js.map +1 -0
  49. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-ethereum.d.ts +3 -0
  50. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-ethereum.js +3 -0
  51. package/v1/serializer/v3/schemas/definitions/transaction-sign-response-ethereum.js.map +1 -0
  52. package/v1/serializer/v3/schemas/generated/transaction-sign-request-ethereum-typed.json +41 -0
  53. package/v1/serializer/v3/schemas/generated/transaction-sign-request-ethereum.json +58 -0
  54. package/v1/serializer/v3/schemas/generated/transaction-sign-response-ethereum.json +19 -0
  55. package/v1/serializer/v3/serializer-companion.js +10 -9
  56. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  57. package/v1/serializer/v3/validators/transaction-validator.d.ts +7 -0
  58. package/v1/serializer/v3/validators/transaction-validator.js +71 -0
  59. package/v1/serializer/v3/validators/transaction-validator.js.map +1 -0
  60. package/v1/types/crypto.d.ts +2 -0
  61. package/v1/types/crypto.js +3 -0
  62. package/v1/types/crypto.js.map +1 -0
  63. package/v1/types/protocol.d.ts +35 -0
  64. package/v1/types/protocol.js +3 -0
  65. package/v1/types/protocol.js.map +1 -0
  66. package/v1/types/transaction.d.ts +24 -0
  67. package/v1/types/transaction.js +3 -0
  68. package/v1/types/transaction.js.map +1 -0
  69. package/v1/utils/EthereumUtils.d.ts +16 -0
  70. package/v1/utils/EthereumUtils.js +155 -0
  71. package/v1/utils/EthereumUtils.js.map +1 -0
  72. package/v1/utils/key.d.ts +5 -0
  73. package/v1/utils/key.js +101 -0
  74. package/v1/utils/key.js.map +1 -0
  75. package/v1/utils/protocol.d.ts +4 -5
  76. package/v1/utils/protocol.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EthereumModule.js","sourceRoot":"","sources":["../../../src/v1/module/EthereumModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkE;AAClE,sDAAqE;AACrE,iDAO2B;AAI3B,mFAAiF;AACjF,2DAAwG;AACxG,iEAAwG;AACxG,8EAAqF;AAGrF,6CAAmE;AAEnE;IAIE;;QACE,IAAM,eAAe,GAA0B,IAAI,kCAAqB,CAAC;YACvE,iBAAiB,EAAE,CAAC,oDAAiC,CAAC;SACvD,CAAC,CAAA;QACF,IAAM,oBAAoB,GAA0B,IAAI,kCAAqB,CAAC;YAC5E,iBAAiB,EAAE,CAAC,oDAAuC,CAAC;SAC7D,CAAC,CAAA;QAEF,IAAI,CAAC,iBAAiB,yBACnB,kCAAmB,CAAC,GAAG,IAAG,eAAe,OACvC,oCAAsB,CAAC,MAAM,CAC9B,UAAC,GAA0C,EAAE,IAAY;;YAAK,OAAA,MAAM,CAAC,MAAM,CAAC,GAAG,YAAI,GAAC,IAAI,IAAG,oBAAoB,MAAG;QAApD,CAAoD,EAClH,EAAE,CACH,CACF,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAA,qCAAwB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAEY,8CAAqB,GAAlC,UAAmC,UAAkB;;;gBACnD,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAA;;;KACvC;IAEY,6CAAoB,GAAjC,UAAkC,UAAkB,EAAE,WAAyC;;;;;gBACvF,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAA;iBAC3F;gBAED,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;;KAChD;IAEY,4CAAmB,GAAhC,UAAiC,UAAkB,EAAE,WAAyC;;;;;gBACtF,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;iBACjG;gBAED,sBAAO,IAAI,+CAAsB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAA;;;KAC5D;IAEY,oDAA2B,GAAxC;;;gBACE,sBAAO,IAAI,oDAA6B,EAAE,EAAA;;;KAC3C;IAEO,uCAAc,GAAtB,UAAuB,UAAkB,EAAE,OAAyB;QAClE,IAAI,UAAU,KAAK,kCAAmB,CAAC,GAAG,EAAE;YAC1C,OAAO,IAAA,yCAAsB,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;SAC3C;QAED,IAAI,yBAAW,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YACzC,IAAM,aAAa,GAAuB,yBAAW,CAAC,UAAU,CAAC,CAAA;YAEjE,OAAO,IAAA,6BAAgB,EAAC,aAAa,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;SACpD;QAED,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,mBAAY,UAAU,oBAAiB,CAAC,CAAA;IAC7F,CAAC;IACH,qBAAC;AAAD,CAAC,AAjED,IAiEC;AAjEY,wCAAc"}
1
+ {"version":3,"file":"EthereumModule.js","sourceRoot":"","sources":["../../../src/v1/module/EthereumModule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAkE;AAClE,sDAAqE;AACrE,iDAO2B;AAI3B,mFAAiF;AACjF,2DAAwG;AACxG,iEAAwG;AACxG,8EAAqF;AAGrF,6CAAmE;AAEnE;IAIE;;QACE,IAAM,eAAe,GAA0B,IAAI,kCAAqB,CAAC;YACvE,iBAAiB,EAAE,CAAC,oDAAiC,CAAC;SACvD,CAAC,CAAA;QACF,IAAM,oBAAoB,GAA0B,IAAI,kCAAqB,CAAC;YAC5E,iBAAiB,EAAE,CAAC,oDAAuC,CAAC;SAC7D,CAAC,CAAA;QAEF,IAAI,CAAC,iBAAiB,yBACnB,kCAAmB,CAAC,GAAG,IAAG,eAAe,OACvC,oCAAsB,CAAC,MAAM,CAC9B,UAAC,GAA0C,EAAE,IAAY;;YAAK,OAAA,MAAM,CAAC,MAAM,CAAC,GAAG,YAAI,GAAC,IAAI,IAAG,oBAAoB,MAAG;QAApD,CAAoD,EAClH,EAAE,CACH,CACF,CAAA;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAA,qCAAwB,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5E,CAAC;IAEY,8CAAqB,GAAlC,UAAmC,UAAkB;;;gBACnD,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAA;;;KACvC;IAEY,6CAAoB,GAAjC,UACE,UAAkB,EAClB,WAA8C;;;;;gBAExC,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,sCAAsC,CAAC,CAAA;iBAC3F;gBAED,sBAAO,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;;KAChD;IAEY,4CAAmB,GAAhC,UAAiC,UAAkB,EAAE,WAA8C;;;;;gBAC3F,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC,WAAW,CAAC,CAAA;gBAE9G,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAA;iBACjG;gBAED,sBAAO,IAAI,+CAAsB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAA;;;KAC5D;IAEY,oDAA2B,GAAxC;;;gBACE,sBAAO,IAAI,oDAA6B,EAAE,EAAA;;;KAC3C;IAEO,uCAAc,GAAtB,UAAuB,UAAkB,EAAE,OAAyB;QAClE,IAAI,UAAU,KAAK,kCAAmB,CAAC,GAAG,EAAE;YAC1C,OAAO,IAAA,yCAAsB,EAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;SAC3C;QAED,IAAI,yBAAW,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;YACzC,IAAM,aAAa,GAAuB,yBAAW,CAAC,UAAU,CAAC,CAAA;YAEjE,OAAO,IAAA,6BAAgB,EAAC,aAAa,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC,CAAA;SACpD;QAED,MAAM,IAAI,gCAAuB,CAAC,qBAAM,CAAC,QAAQ,EAAE,mBAAY,UAAU,oBAAiB,CAAC,CAAA;IAC7F,CAAC;IACH,qBAAC;AAAD,CAAC,AApED,IAoEC;AApEY,wCAAc"}
@@ -1,10 +1,87 @@
1
- import { AirGapTransactionsWithCursor, ProtocolUnitsMetadata } from '@airgap/module-kit';
2
- import { EvmBaseProtocol, EvmBaseProtocolImpl, EvmProtocolNetwork } from '@airgap/evm';
3
- import { EthereumInfoClient, EthereumInfoClientTransactionsResult, EthereumTransactionCursor } from '../clients/info/EthereumInfoClient';
4
- export declare type EthereumUnits = 'ETH' | 'GWEI' | 'WEI';
1
+ import { BigNumber } from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber';
2
+ import { Address, AirGapProtocol, AirGapTransaction, AirGapTransactionStatus, AirGapTransactionsWithCursor, Amount, Balance, CryptoDerivative, ExtendedKeyPair, ExtendedPublicKey, ExtendedSecretKey, FeeDefaults, KeyPair, ProtocolMetadata, ProtocolUnitsMetadata, PublicKey, SecretKey, Signature, TokenDetails, TransactionFullConfiguration, TransactionDetails, TransactionSimpleConfiguration, WalletConnectRequest } from '@airgap/module-kit';
3
+ import { EthereumCryptoClient } from '../clients/crypto/EthereumCryptoClient';
4
+ import { EthereumInfoClient } from '../clients/info/EthereumInfoClient';
5
+ import { EthereumNodeClient } from '../clients/node/EthereumNodeClient';
6
+ import { EthereumCryptoConfiguration } from '../types/crypto';
7
+ import { EthereumBaseProtocolOptions, EthereumProtocolNetwork, EthereumProtocolOptions, EthereumUnits } from '../types/protocol';
8
+ import { EthereumRawUnsignedTransaction, EthereumSignedTransaction, EthereumTransactionCursor, EthereumTypedUnsignedTransaction, EthereumUnsignedTransaction } from '../types/transaction';
9
+ export interface EthereumBaseProtocol<_Units extends string = EthereumUnits, _ProtocolNetwork extends EthereumProtocolNetwork = EthereumProtocolNetwork> extends AirGapProtocol<{
10
+ AddressResult: Address;
11
+ ProtocolNetwork: _ProtocolNetwork;
12
+ CryptoConfiguration: EthereumCryptoConfiguration;
13
+ Units: _Units;
14
+ FeeUnits: EthereumUnits;
15
+ FeeEstimation: FeeDefaults<EthereumUnits>;
16
+ SignedTransaction: EthereumSignedTransaction;
17
+ UnsignedTransaction: EthereumUnsignedTransaction;
18
+ TransactionCursor: EthereumTransactionCursor;
19
+ }, 'Bip32', 'Crypto', 'FetchDataForAddress', 'FetchDataForMultipleAddresses', 'GetTokenBalances', 'TransactionStatusChecker', 'WalletConnect'> {
20
+ }
5
21
  export declare const DEFAULT_ETHEREUM_UNITS_METADATA: ProtocolUnitsMetadata<EthereumUnits>;
6
- export interface EthereumBaseProtocol<_Units extends string = EthereumUnits, _ProtocolNetwork extends EvmProtocolNetwork = EvmProtocolNetwork> extends EvmBaseProtocol<EthereumTransactionCursor, _Units, EthereumUnits, _ProtocolNetwork> {
22
+ export declare class EthereumBaseProtocolImpl<_Units extends string = EthereumUnits, _ProtocolNetwork extends EthereumProtocolNetwork = EthereumProtocolNetwork> implements EthereumBaseProtocol<_Units, _ProtocolNetwork> {
23
+ protected readonly options: EthereumProtocolOptions<_ProtocolNetwork>;
24
+ protected readonly nodeClient: EthereumNodeClient;
25
+ protected readonly infoClient: EthereumInfoClient;
26
+ protected readonly cryptoClient: EthereumCryptoClient;
27
+ protected readonly bitcoinJS: {
28
+ lib: any;
29
+ config: {
30
+ network: any;
31
+ };
32
+ };
33
+ constructor(nodeClient: EthereumNodeClient, infoClient: EthereumInfoClient, options: EthereumBaseProtocolOptions<_Units, _ProtocolNetwork>);
34
+ readonly units: ProtocolUnitsMetadata<_Units>;
35
+ readonly feeUnits: ProtocolUnitsMetadata<EthereumUnits>;
36
+ protected readonly feeDefaults: FeeDefaults<EthereumUnits>;
37
+ protected readonly metadata: ProtocolMetadata<_Units, EthereumUnits>;
38
+ getMetadata(): Promise<ProtocolMetadata<_Units, EthereumUnits>>;
39
+ getAddressFromPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
40
+ deriveFromExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, visibilityIndex: number, addressIndex: number): Promise<PublicKey>;
41
+ getDetailsFromTransaction(transaction: EthereumSignedTransaction | EthereumUnsignedTransaction, publicKey: PublicKey | ExtendedPublicKey): Promise<AirGapTransaction<_Units, EthereumUnits>[]>;
42
+ private getDetailsFromTransactionWithPublicKey;
43
+ private getDetailsFromTransactionWithExtendedPublicKey;
44
+ protected getDetailsFromSignedTransaction(transaction: EthereumSignedTransaction): Promise<AirGapTransaction<_Units, EthereumUnits>[]>;
45
+ protected getDetailsFromTypedUnsignedTransaction(transaction: EthereumTypedUnsignedTransaction, ownAddress: string): Promise<AirGapTransaction<_Units, EthereumUnits>[]>;
46
+ protected getDetailsFromRawUnsignedTransaction(transaction: EthereumRawUnsignedTransaction, ownAddress: string): Promise<AirGapTransaction<_Units, EthereumUnits>[]>;
47
+ verifyMessageWithPublicKey(message: string, signature: Signature, publicKey: PublicKey | ExtendedPublicKey): Promise<boolean>;
48
+ encryptAsymmetricWithPublicKey(payload: string, publicKey: PublicKey | ExtendedPublicKey): Promise<string>;
49
+ private readonly cryptoConfiguration;
50
+ getCryptoConfiguration(): Promise<EthereumCryptoConfiguration>;
51
+ getKeyPairFromDerivative(derivative: CryptoDerivative): Promise<KeyPair>;
52
+ getExtendedKeyPairFromDerivative(derivative: CryptoDerivative): Promise<ExtendedKeyPair>;
53
+ deriveFromExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, visibilityIndex: number, addressIndex: number): Promise<SecretKey>;
54
+ signTransactionWithSecretKey(transaction: EthereumUnsignedTransaction, secretKey: SecretKey | ExtendedSecretKey): Promise<EthereumSignedTransaction>;
55
+ private signTypedUnsignedTransactionWithSecretKey;
56
+ private signRawUnsignedTransactionWithSecretKey;
57
+ private signTypedTransactionWithSecretKey;
58
+ signMessageWithKeyPair(message: string, keyPair: KeyPair | ExtendedKeyPair): Promise<Signature>;
59
+ decryptAsymmetricWithKeyPair(payload: string, keyPair: KeyPair | ExtendedKeyPair): Promise<string>;
60
+ encryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
61
+ decryptAESWithSecretKey(payload: string, secretKey: SecretKey | ExtendedSecretKey): Promise<string>;
62
+ getNetwork(): Promise<_ProtocolNetwork>;
63
+ getTransactionsForPublicKey(publicKey: PublicKey | ExtendedPublicKey, limit: number, cursor?: EthereumTransactionCursor): Promise<AirGapTransactionsWithCursor<EthereumTransactionCursor, _Units, EthereumUnits>>;
64
+ getTransactionsForAddress(address: string, limit: number, cursor?: EthereumTransactionCursor): Promise<AirGapTransactionsWithCursor<EthereumTransactionCursor, _Units, EthereumUnits>>;
65
+ getTransactionsForAddresses(addresses: string[], limit: number, cursor?: EthereumTransactionCursor): Promise<AirGapTransactionsWithCursor<EthereumTransactionCursor, _Units, EthereumUnits>>;
66
+ getTransactionStatus(transactionIds: string[]): Promise<Record<string, AirGapTransactionStatus>>;
67
+ getBalanceOfPublicKey(publicKey: PublicKey | ExtendedPublicKey): Promise<Balance<_Units>>;
68
+ getBalanceOfAddress(address: string): Promise<Balance<_Units>>;
69
+ getBalanceOfAddresses(addresses: string[]): Promise<Balance<_Units>>;
70
+ getTokenBalancesOfPublicKey(publicKey: PublicKey | ExtendedPublicKey, tokens: TokenDetails[]): Promise<Record<string, Amount>>;
71
+ getTransactionMaxAmountWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, to: string[], configuration?: TransactionFullConfiguration<EthereumUnits>): Promise<Amount<_Units>>;
72
+ getTransactionFeeWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionSimpleConfiguration): Promise<FeeDefaults<EthereumUnits>>;
73
+ prepareTransactionWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, details: TransactionDetails<_Units>[], configuration?: TransactionFullConfiguration<EthereumUnits>): Promise<EthereumUnsignedTransaction>;
74
+ getWalletConnectChain(): Promise<string>;
75
+ prepareWalletConnectTransactionWithPublicKey(publicKey: PublicKey | ExtendedPublicKey, request: WalletConnectRequest): Promise<EthereumUnsignedTransaction>;
76
+ broadcastTransaction(transaction: EthereumSignedTransaction): Promise<string>;
77
+ private nonExtendedPublicKey;
78
+ private nonExtendedSecretKey;
79
+ private getPublicKeyFromExtendedPublicKey;
80
+ private getSecretKeyFromExtendedSecretKey;
81
+ private deriveNode;
82
+ protected estimateGas(fromAddress: string, toAddress: string, amount: string | number | BigNumber | Amount<_Units>, data?: string): Promise<BigNumber>;
83
+ private derivativeToBip32Node;
7
84
  }
8
- export declare class EthereumBaseProtocolImpl<_ProtocolNetwork extends EvmProtocolNetwork = EvmProtocolNetwork> extends EvmBaseProtocolImpl<EthereumTransactionCursor, EthereumInfoClientTransactionsResult, EthereumInfoClient, EthereumUnits, EthereumUnits, _ProtocolNetwork> implements EthereumBaseProtocol<EthereumUnits, _ProtocolNetwork> {
9
- getTransactionsForAddresses(addresses: string[], limit: number, cursor?: EthereumTransactionCursor): Promise<AirGapTransactionsWithCursor<EthereumTransactionCursor, EthereumUnits, EthereumUnits>>;
85
+ export declare abstract class DefaultEthereumBaseProtocolImpl extends EthereumBaseProtocolImpl {
86
+ protected constructor(nodeClient: EthereumNodeClient, infoClient: EthereumInfoClient, options: EthereumProtocolOptions & Partial<EthereumBaseProtocolOptions>);
10
87
  }