@avalabs/vm-module-types 1.4.6 → 1.5.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 (64) hide show
  1. package/dist/account.cjs +2 -2
  2. package/dist/account.d.cts +29 -2
  3. package/dist/account.d.ts +29 -2
  4. package/dist/account.js +1 -1
  5. package/dist/balance.d.cts +14 -2
  6. package/dist/balance.d.ts +14 -2
  7. package/dist/chunk-E4CYP2GV.js +5 -0
  8. package/dist/chunk-E4CYP2GV.js.map +1 -0
  9. package/dist/{chunk-T3QBBZUZ.js → chunk-FTYN6IZV.js} +2 -2
  10. package/dist/chunk-FTYN6IZV.js.map +1 -0
  11. package/dist/chunk-GF7C4PA6.js +3 -0
  12. package/dist/{chunk-7Y6UGMPZ.js → chunk-GMF7R4KJ.js} +2 -2
  13. package/dist/chunk-GMF7R4KJ.js.map +1 -0
  14. package/dist/chunk-M2ZWWM4H.js +5 -0
  15. package/dist/chunk-M2ZWWM4H.js.map +1 -0
  16. package/dist/{chunk-2KGTZTXY.cjs → chunk-N7PCIGVW.cjs} +2 -2
  17. package/dist/chunk-N7PCIGVW.cjs.map +1 -0
  18. package/dist/chunk-SAQJRAJ4.cjs +9 -0
  19. package/dist/chunk-SAQJRAJ4.cjs.map +1 -0
  20. package/dist/{chunk-IQHOBS5Y.cjs → chunk-VH6PRR45.cjs} +2 -2
  21. package/dist/chunk-VH6PRR45.cjs.map +1 -0
  22. package/dist/chunk-Y465KEXP.cjs +7 -0
  23. package/dist/chunk-Y465KEXP.cjs.map +1 -0
  24. package/dist/{chunk-ATL7CLLW.cjs → chunk-YB5EN6FL.cjs} +1 -1
  25. package/dist/common.cjs +4 -4
  26. package/dist/common.d.cts +5 -2
  27. package/dist/common.d.ts +5 -2
  28. package/dist/common.js +1 -1
  29. package/dist/index.cjs +13 -13
  30. package/dist/index.d.cts +4 -5
  31. package/dist/index.d.ts +4 -5
  32. package/dist/index.js +5 -5
  33. package/dist/module.cjs +2 -2
  34. package/dist/module.d.cts +9 -5
  35. package/dist/module.d.ts +9 -5
  36. package/dist/module.js +2 -2
  37. package/dist/{rpc-c6776d81.d.ts → rpc-d3af2845.d.ts} +18 -2
  38. package/dist/{rpc-ab7acd4d.d.ts → rpc-e02a5305.d.ts} +18 -2
  39. package/dist/rpc.cjs +4 -4
  40. package/dist/rpc.d.cts +1 -1
  41. package/dist/rpc.d.ts +1 -1
  42. package/dist/rpc.js +1 -1
  43. package/dist/token.cjs +2 -2
  44. package/dist/token.d.cts +16 -3
  45. package/dist/token.d.ts +16 -3
  46. package/dist/token.js +1 -1
  47. package/dist/transaction-simulation.d.cts +1 -1
  48. package/dist/transaction-simulation.d.ts +1 -1
  49. package/package.json +4 -5
  50. package/dist/chunk-2DSAT5RW.js +0 -3
  51. package/dist/chunk-2KGTZTXY.cjs.map +0 -1
  52. package/dist/chunk-6JAA7W6A.cjs +0 -7
  53. package/dist/chunk-6JAA7W6A.cjs.map +0 -1
  54. package/dist/chunk-7Y6UGMPZ.js.map +0 -1
  55. package/dist/chunk-I5OST5LZ.js +0 -5
  56. package/dist/chunk-I5OST5LZ.js.map +0 -1
  57. package/dist/chunk-IMMJESZ3.cjs +0 -9
  58. package/dist/chunk-IMMJESZ3.cjs.map +0 -1
  59. package/dist/chunk-IQHOBS5Y.cjs.map +0 -1
  60. package/dist/chunk-T3QBBZUZ.js.map +0 -1
  61. package/dist/chunk-UN6P2KX4.js +0 -5
  62. package/dist/chunk-UN6P2KX4.js.map +0 -1
  63. /package/dist/{chunk-2DSAT5RW.js.map → chunk-GF7C4PA6.js.map} +0 -0
  64. /package/dist/{chunk-ATL7CLLW.cjs.map → chunk-YB5EN6FL.cjs.map} +0 -0
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import './chunk-7U2R34EQ.js';
2
2
  export { a as EventNames } from './chunk-GHQG4UY4.js';
3
- export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-T3QBBZUZ.js';
3
+ export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-FTYN6IZV.js';
4
4
  export { a as TxType } from './chunk-FGMDBV23.js';
5
- export { a as TokenType } from './chunk-7Y6UGMPZ.js';
5
+ export { a as TokenType } from './chunk-GMF7R4KJ.js';
6
6
  export { b as PChainTransactionType, a as TransactionType, c as XChainTransactionType } from './chunk-7JLXTNPE.js';
7
7
  import './chunk-P6AM7I3B.js';
8
- export { a as WalletType } from './chunk-I5OST5LZ.js';
8
+ export { a as WalletType } from './chunk-E4CYP2GV.js';
9
9
  import './chunk-BHB5UV3J.js';
10
10
  export { b as RawSimplePriceResponseSchema, a as SimplePriceResponseSchema } from './chunk-WOO6UGSQ.js';
11
11
  import './chunk-REHORWPH.js';
12
12
  export { a as parseManifest } from './chunk-RINP3JFP.js';
13
- import './chunk-2DSAT5RW.js';
14
- export { c as AppName, b as Environment, a as NetworkVMType } from './chunk-UN6P2KX4.js';
13
+ import './chunk-GF7C4PA6.js';
14
+ export { c as AppName, b as Environment, a as NetworkVMType } from './chunk-M2ZWWM4H.js';
15
15
  //# sourceMappingURL=out.js.map
16
16
  //# sourceMappingURL=index.js.map
package/dist/module.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- require('./chunk-ATL7CLLW.cjs');
4
- require('./chunk-IMMJESZ3.cjs');
3
+ require('./chunk-YB5EN6FL.cjs');
4
+ require('./chunk-SAQJRAJ4.cjs');
5
5
 
6
6
  //# sourceMappingURL=out.js.map
7
7
  //# sourceMappingURL=module.cjs.map
package/dist/module.d.cts CHANGED
@@ -1,14 +1,13 @@
1
- import { JsonRpcBatchInternal, BitcoinProvider, Avalanche } from '@avalabs/core-wallets-sdk';
2
- import { GetAddressParams, GetAddressResponse } from './account.cjs';
1
+ import { JsonRpcBatchInternal, BitcoinProvider, Avalanche, SolanaProvider } from '@avalabs/core-wallets-sdk';
2
+ import { GetAddressParams, GetAddressResponse, DeriveAddressParams, DeriveAddressResponse, BuildDerivationPathParams, BuildDerivationPathResponse } from './account.cjs';
3
3
  import { GetBalancesParams, GetBalancesResponse } from './balance.cjs';
4
4
  import { AppName, Environment, Network } from './common.cjs';
5
5
  import { Manifest } from './manifest.cjs';
6
6
  import { NetworkFees } from './network-fee.cjs';
7
- import { H as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-c6776d81.js';
7
+ import { I as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-d3af2845.js';
8
8
  import { NetworkContractToken } from './token.cjs';
9
9
  import { GetTransactionHistory, TransactionHistoryResponse } from './transaction-history.cjs';
10
10
  import { HyperSDKClient } from 'hypersdk-client';
11
- import { Rpc, SolanaRpcApiMainnet, SolanaRpcApiDevnet } from '@solana/rpc';
12
11
  import './error.cjs';
13
12
  import '@avalabs/glacier-sdk';
14
13
  import 'zod';
@@ -28,12 +27,17 @@ type NetworkFeeParam = Network & {
28
27
  caipId?: string;
29
28
  };
30
29
  interface Module {
31
- getProvider: (network: Network) => Promise<JsonRpcBatchInternal | BitcoinProvider | Avalanche.JsonRpcProvider | HyperSDKClient | Rpc<SolanaRpcApiMainnet | SolanaRpcApiDevnet>>;
30
+ getProvider: (network: Network) => Promise<JsonRpcBatchInternal | BitcoinProvider | Avalanche.JsonRpcProvider | HyperSDKClient | SolanaProvider>;
32
31
  getManifest: () => Manifest | undefined;
33
32
  getBalances: (params: GetBalancesParams) => Promise<GetBalancesResponse>;
34
33
  getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;
35
34
  getNetworkFee: (network: NetworkFeeParam) => Promise<NetworkFees>;
35
+ /**
36
+ * @deprecated Please use `deriveAddress` instead
37
+ */
36
38
  getAddress: (params: GetAddressParams) => Promise<GetAddressResponse>;
39
+ deriveAddress: (params: DeriveAddressParams) => Promise<DeriveAddressResponse>;
40
+ buildDerivationPath: (params: BuildDerivationPathParams) => BuildDerivationPathResponse;
37
41
  getTokens: (network: Network) => Promise<NetworkContractToken[]>;
38
42
  onRpcRequest: (request: RpcRequest, chain: Network) => Promise<RpcResponse>;
39
43
  }
package/dist/module.d.ts CHANGED
@@ -1,14 +1,13 @@
1
- import { JsonRpcBatchInternal, BitcoinProvider, Avalanche } from '@avalabs/core-wallets-sdk';
2
- import { GetAddressParams, GetAddressResponse } from './account.js';
1
+ import { JsonRpcBatchInternal, BitcoinProvider, Avalanche, SolanaProvider } from '@avalabs/core-wallets-sdk';
2
+ import { GetAddressParams, GetAddressResponse, DeriveAddressParams, DeriveAddressResponse, BuildDerivationPathParams, BuildDerivationPathResponse } from './account.js';
3
3
  import { GetBalancesParams, GetBalancesResponse } from './balance.js';
4
4
  import { AppName, Environment, Network } from './common.js';
5
5
  import { Manifest } from './manifest.js';
6
6
  import { NetworkFees } from './network-fee.js';
7
- import { H as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-ab7acd4d.js';
7
+ import { I as ApprovalController, a as RpcRequest, c as RpcResponse } from './rpc-e02a5305.js';
8
8
  import { NetworkContractToken } from './token.js';
9
9
  import { GetTransactionHistory, TransactionHistoryResponse } from './transaction-history.js';
10
10
  import { HyperSDKClient } from 'hypersdk-client';
11
- import { Rpc, SolanaRpcApiMainnet, SolanaRpcApiDevnet } from '@solana/rpc';
12
11
  import './error.js';
13
12
  import '@avalabs/glacier-sdk';
14
13
  import 'zod';
@@ -28,12 +27,17 @@ type NetworkFeeParam = Network & {
28
27
  caipId?: string;
29
28
  };
30
29
  interface Module {
31
- getProvider: (network: Network) => Promise<JsonRpcBatchInternal | BitcoinProvider | Avalanche.JsonRpcProvider | HyperSDKClient | Rpc<SolanaRpcApiMainnet | SolanaRpcApiDevnet>>;
30
+ getProvider: (network: Network) => Promise<JsonRpcBatchInternal | BitcoinProvider | Avalanche.JsonRpcProvider | HyperSDKClient | SolanaProvider>;
32
31
  getManifest: () => Manifest | undefined;
33
32
  getBalances: (params: GetBalancesParams) => Promise<GetBalancesResponse>;
34
33
  getTransactionHistory: (params: GetTransactionHistory) => Promise<TransactionHistoryResponse>;
35
34
  getNetworkFee: (network: NetworkFeeParam) => Promise<NetworkFees>;
35
+ /**
36
+ * @deprecated Please use `deriveAddress` instead
37
+ */
36
38
  getAddress: (params: GetAddressParams) => Promise<GetAddressResponse>;
39
+ deriveAddress: (params: DeriveAddressParams) => Promise<DeriveAddressResponse>;
40
+ buildDerivationPath: (params: BuildDerivationPathParams) => BuildDerivationPathResponse;
37
41
  getTokens: (network: Network) => Promise<NetworkContractToken[]>;
38
42
  onRpcRequest: (request: RpcRequest, chain: Network) => Promise<RpcResponse>;
39
43
  }
package/dist/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import './chunk-2DSAT5RW.js';
2
- import './chunk-UN6P2KX4.js';
1
+ import './chunk-GF7C4PA6.js';
2
+ import './chunk-M2ZWWM4H.js';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=module.js.map
@@ -51,7 +51,9 @@ declare enum RpcMethod {
51
51
  AVALANCHE_SIGN_MESSAGE = "avalanche_signMessage",
52
52
  AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction",
53
53
  AVALANCHE_SIGN_TRANSACTION = "avalanche_signTransaction",
54
- HVM_SIGN_TRANSACTION = "hvm_signTransaction"
54
+ HVM_SIGN_TRANSACTION = "hvm_signTransaction",
55
+ SOLANA_SIGN_TRANSACTION = "solana_signTransaction",
56
+ SOLANA_SIGN_AND_SEND_TRANSACTION = "solana_signAndSendTransaction"
55
57
  }
56
58
  type DappInfo = {
57
59
  name: string;
@@ -206,6 +208,14 @@ type BitcoingSignTxData = {
206
208
  outputs: BitcoinOutputUTXO[];
207
209
  };
208
210
  type SigningData = {
211
+ type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;
212
+ account: string;
213
+ data: string;
214
+ } | {
215
+ type: RpcMethod.SOLANA_SIGN_TRANSACTION;
216
+ account: string;
217
+ data: string;
218
+ } | {
209
219
  type: RpcMethod.BITCOIN_SEND_TRANSACTION;
210
220
  account: string;
211
221
  data: BitcoinExecuteTxData;
@@ -294,6 +304,11 @@ type BatchApprovalParams = {
294
304
  displayData: DisplayData;
295
305
  updateTx: EvmTxBatchUpdateFn;
296
306
  };
307
+ type RequestPublicKeyParams = {
308
+ secretId: string;
309
+ curve: 'secp256k1' | 'ed25519';
310
+ derivationPath?: string;
311
+ };
297
312
  /**
298
313
  * We want to accept both a signed data (tx/message) and a tx hash as a response
299
314
  * coming in from the client apps, hence the XORs here.
@@ -324,6 +339,7 @@ type BatchApprovalResponse = {
324
339
  };
325
340
  interface ApprovalController {
326
341
  requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;
342
+ requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;
327
343
  onTransactionConfirmed: (txHash: Hex, requestId: string) => void;
328
344
  onTransactionReverted: (txHash: Hex, requestId: string) => void;
329
345
  }
@@ -331,4 +347,4 @@ interface BatchApprovalController extends ApprovalController {
331
347
  requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;
332
348
  }
333
349
 
334
- export { AddressItem as A, BaseDetailItem as B, CurrencyItem as C, DappInfo as D, EvmTxBatchUpdateFn as E, FundsRecipientItem as F, BatchApprovalResponse as G, ApprovalController as H, BatchApprovalController as I, BalanceChange as J, TokenDiff as K, LinkItemValue as L, MessageTypeProperty as M, NodeIDItem as N, TokenDiffItem as O, TokenApproval as P, TokenApprovals as Q, RpcMethod as R, SigningData as S, TypedData as T, TransactionSimulationResult as U, RpcRequest as a, RpcError as b, RpcResponse as c, MessageTypes as d, TypedDataV1 as e, DetailSection as f, DetailItemType as g, TextItem as h, DataItem as i, DateItem as j, LinkItem as k, DetailItem as l, DisplayData as m, AlertType as n, AlertDetails as o, Alert as p, BitcoinExecuteTxData as q, BitcoingSignTxData as r, SigningData_EthSendTx as s, EvmTxUpdateFn as t, BtcTxUpdateFn as u, SigningRequest as v, ApprovalParams as w, BatchApprovalParams as x, SigningResult as y, ApprovalResponse as z };
350
+ export { AddressItem as A, BaseDetailItem as B, CurrencyItem as C, DappInfo as D, EvmTxBatchUpdateFn as E, FundsRecipientItem as F, ApprovalResponse as G, BatchApprovalResponse as H, ApprovalController as I, BatchApprovalController as J, BalanceChange as K, LinkItemValue as L, MessageTypeProperty as M, NodeIDItem as N, TokenDiff as O, TokenDiffItem as P, TokenApproval as Q, RpcMethod as R, SigningData as S, TypedData as T, TokenApprovals as U, TransactionSimulationResult as V, RpcRequest as a, RpcError as b, RpcResponse as c, MessageTypes as d, TypedDataV1 as e, DetailSection as f, DetailItemType as g, TextItem as h, DataItem as i, DateItem as j, LinkItem as k, DetailItem as l, DisplayData as m, AlertType as n, AlertDetails as o, Alert as p, BitcoinExecuteTxData as q, BitcoingSignTxData as r, SigningData_EthSendTx as s, EvmTxUpdateFn as t, BtcTxUpdateFn as u, SigningRequest as v, ApprovalParams as w, BatchApprovalParams as x, RequestPublicKeyParams as y, SigningResult as z };
@@ -51,7 +51,9 @@ declare enum RpcMethod {
51
51
  AVALANCHE_SIGN_MESSAGE = "avalanche_signMessage",
52
52
  AVALANCHE_SEND_TRANSACTION = "avalanche_sendTransaction",
53
53
  AVALANCHE_SIGN_TRANSACTION = "avalanche_signTransaction",
54
- HVM_SIGN_TRANSACTION = "hvm_signTransaction"
54
+ HVM_SIGN_TRANSACTION = "hvm_signTransaction",
55
+ SOLANA_SIGN_TRANSACTION = "solana_signTransaction",
56
+ SOLANA_SIGN_AND_SEND_TRANSACTION = "solana_signAndSendTransaction"
55
57
  }
56
58
  type DappInfo = {
57
59
  name: string;
@@ -206,6 +208,14 @@ type BitcoingSignTxData = {
206
208
  outputs: BitcoinOutputUTXO[];
207
209
  };
208
210
  type SigningData = {
211
+ type: RpcMethod.SOLANA_SIGN_AND_SEND_TRANSACTION;
212
+ account: string;
213
+ data: string;
214
+ } | {
215
+ type: RpcMethod.SOLANA_SIGN_TRANSACTION;
216
+ account: string;
217
+ data: string;
218
+ } | {
209
219
  type: RpcMethod.BITCOIN_SEND_TRANSACTION;
210
220
  account: string;
211
221
  data: BitcoinExecuteTxData;
@@ -294,6 +304,11 @@ type BatchApprovalParams = {
294
304
  displayData: DisplayData;
295
305
  updateTx: EvmTxBatchUpdateFn;
296
306
  };
307
+ type RequestPublicKeyParams = {
308
+ secretId: string;
309
+ curve: 'secp256k1' | 'ed25519';
310
+ derivationPath?: string;
311
+ };
297
312
  /**
298
313
  * We want to accept both a signed data (tx/message) and a tx hash as a response
299
314
  * coming in from the client apps, hence the XORs here.
@@ -324,6 +339,7 @@ type BatchApprovalResponse = {
324
339
  };
325
340
  interface ApprovalController {
326
341
  requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;
342
+ requestPublicKey: (params: RequestPublicKeyParams) => Promise<string>;
327
343
  onTransactionConfirmed: (txHash: Hex, requestId: string) => void;
328
344
  onTransactionReverted: (txHash: Hex, requestId: string) => void;
329
345
  }
@@ -331,4 +347,4 @@ interface BatchApprovalController extends ApprovalController {
331
347
  requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;
332
348
  }
333
349
 
334
- export { AddressItem as A, BaseDetailItem as B, CurrencyItem as C, DappInfo as D, EvmTxBatchUpdateFn as E, FundsRecipientItem as F, BatchApprovalResponse as G, ApprovalController as H, BatchApprovalController as I, BalanceChange as J, TokenDiff as K, LinkItemValue as L, MessageTypeProperty as M, NodeIDItem as N, TokenDiffItem as O, TokenApproval as P, TokenApprovals as Q, RpcMethod as R, SigningData as S, TypedData as T, TransactionSimulationResult as U, RpcRequest as a, RpcError as b, RpcResponse as c, MessageTypes as d, TypedDataV1 as e, DetailSection as f, DetailItemType as g, TextItem as h, DataItem as i, DateItem as j, LinkItem as k, DetailItem as l, DisplayData as m, AlertType as n, AlertDetails as o, Alert as p, BitcoinExecuteTxData as q, BitcoingSignTxData as r, SigningData_EthSendTx as s, EvmTxUpdateFn as t, BtcTxUpdateFn as u, SigningRequest as v, ApprovalParams as w, BatchApprovalParams as x, SigningResult as y, ApprovalResponse as z };
350
+ export { AddressItem as A, BaseDetailItem as B, CurrencyItem as C, DappInfo as D, EvmTxBatchUpdateFn as E, FundsRecipientItem as F, ApprovalResponse as G, BatchApprovalResponse as H, ApprovalController as I, BatchApprovalController as J, BalanceChange as K, LinkItemValue as L, MessageTypeProperty as M, NodeIDItem as N, TokenDiff as O, TokenDiffItem as P, TokenApproval as Q, RpcMethod as R, SigningData as S, TypedData as T, TokenApprovals as U, TransactionSimulationResult as V, RpcRequest as a, RpcError as b, RpcResponse as c, MessageTypes as d, TypedDataV1 as e, DetailSection as f, DetailItemType as g, TextItem as h, DataItem as i, DateItem as j, LinkItem as k, DetailItem as l, DisplayData as m, AlertType as n, AlertDetails as o, Alert as p, BitcoinExecuteTxData as q, BitcoingSignTxData as r, SigningData_EthSendTx as s, EvmTxUpdateFn as t, BtcTxUpdateFn as u, SigningRequest as v, ApprovalParams as w, BatchApprovalParams as x, RequestPublicKeyParams as y, SigningResult as z };
package/dist/rpc.cjs CHANGED
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkIQHOBS5Y_cjs = require('./chunk-IQHOBS5Y.cjs');
3
+ var chunkVH6PRR45_cjs = require('./chunk-VH6PRR45.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, 'AlertType', {
8
8
  enumerable: true,
9
- get: function () { return chunkIQHOBS5Y_cjs.c; }
9
+ get: function () { return chunkVH6PRR45_cjs.c; }
10
10
  });
11
11
  Object.defineProperty(exports, 'DetailItemType', {
12
12
  enumerable: true,
13
- get: function () { return chunkIQHOBS5Y_cjs.b; }
13
+ get: function () { return chunkVH6PRR45_cjs.b; }
14
14
  });
15
15
  Object.defineProperty(exports, 'RpcMethod', {
16
16
  enumerable: true,
17
- get: function () { return chunkIQHOBS5Y_cjs.a; }
17
+ get: function () { return chunkVH6PRR45_cjs.a; }
18
18
  });
19
19
  //# sourceMappingURL=out.js.map
20
20
  //# sourceMappingURL=rpc.cjs.map
package/dist/rpc.d.cts CHANGED
@@ -2,7 +2,7 @@ import 'ethers';
2
2
  import '@avalabs/core-wallets-sdk';
3
3
  import './common.cjs';
4
4
  import '@metamask/rpc-errors';
5
- export { A as AddressItem, p as Alert, o as AlertDetails, n as AlertType, H as ApprovalController, w as ApprovalParams, z as ApprovalResponse, B as BaseDetailItem, I as BatchApprovalController, x as BatchApprovalParams, G as BatchApprovalResponse, q as BitcoinExecuteTxData, r as BitcoingSignTxData, u as BtcTxUpdateFn, C as CurrencyItem, D as DappInfo, i as DataItem, j as DateItem, l as DetailItem, g as DetailItemType, f as DetailSection, m as DisplayData, E as EvmTxBatchUpdateFn, t as EvmTxUpdateFn, F as FundsRecipientItem, k as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, N as NodeIDItem, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, s as SigningData_EthSendTx, v as SigningRequest, y as SigningResult, h as TextItem, T as TypedData, e as TypedDataV1 } from './rpc-c6776d81.js';
5
+ export { A as AddressItem, p as Alert, o as AlertDetails, n as AlertType, I as ApprovalController, w as ApprovalParams, G as ApprovalResponse, B as BaseDetailItem, J as BatchApprovalController, x as BatchApprovalParams, H as BatchApprovalResponse, q as BitcoinExecuteTxData, r as BitcoingSignTxData, u as BtcTxUpdateFn, C as CurrencyItem, D as DappInfo, i as DataItem, j as DateItem, l as DetailItem, g as DetailItemType, f as DetailSection, m as DisplayData, E as EvmTxBatchUpdateFn, t as EvmTxUpdateFn, F as FundsRecipientItem, k as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, N as NodeIDItem, y as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, s as SigningData_EthSendTx, v as SigningRequest, z as SigningResult, h as TextItem, T as TypedData, e as TypedDataV1 } from './rpc-d3af2845.js';
6
6
  import './balance.cjs';
7
7
  import 'hypersdk-client';
8
8
  import './token.cjs';
package/dist/rpc.d.ts CHANGED
@@ -2,7 +2,7 @@ import 'ethers';
2
2
  import '@avalabs/core-wallets-sdk';
3
3
  import './common.js';
4
4
  import '@metamask/rpc-errors';
5
- export { A as AddressItem, p as Alert, o as AlertDetails, n as AlertType, H as ApprovalController, w as ApprovalParams, z as ApprovalResponse, B as BaseDetailItem, I as BatchApprovalController, x as BatchApprovalParams, G as BatchApprovalResponse, q as BitcoinExecuteTxData, r as BitcoingSignTxData, u as BtcTxUpdateFn, C as CurrencyItem, D as DappInfo, i as DataItem, j as DateItem, l as DetailItem, g as DetailItemType, f as DetailSection, m as DisplayData, E as EvmTxBatchUpdateFn, t as EvmTxUpdateFn, F as FundsRecipientItem, k as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, N as NodeIDItem, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, s as SigningData_EthSendTx, v as SigningRequest, y as SigningResult, h as TextItem, T as TypedData, e as TypedDataV1 } from './rpc-ab7acd4d.js';
5
+ export { A as AddressItem, p as Alert, o as AlertDetails, n as AlertType, I as ApprovalController, w as ApprovalParams, G as ApprovalResponse, B as BaseDetailItem, J as BatchApprovalController, x as BatchApprovalParams, H as BatchApprovalResponse, q as BitcoinExecuteTxData, r as BitcoingSignTxData, u as BtcTxUpdateFn, C as CurrencyItem, D as DappInfo, i as DataItem, j as DateItem, l as DetailItem, g as DetailItemType, f as DetailSection, m as DisplayData, E as EvmTxBatchUpdateFn, t as EvmTxUpdateFn, F as FundsRecipientItem, k as LinkItem, L as LinkItemValue, M as MessageTypeProperty, d as MessageTypes, N as NodeIDItem, y as RequestPublicKeyParams, b as RpcError, R as RpcMethod, a as RpcRequest, c as RpcResponse, S as SigningData, s as SigningData_EthSendTx, v as SigningRequest, z as SigningResult, h as TextItem, T as TypedData, e as TypedDataV1 } from './rpc-e02a5305.js';
6
6
  import './balance.js';
7
7
  import 'hypersdk-client';
8
8
  import './token.js';
package/dist/rpc.js CHANGED
@@ -1,3 +1,3 @@
1
- export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-T3QBBZUZ.js';
1
+ export { c as AlertType, b as DetailItemType, a as RpcMethod } from './chunk-FTYN6IZV.js';
2
2
  //# sourceMappingURL=out.js.map
3
3
  //# sourceMappingURL=rpc.js.map
package/dist/token.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk2KGTZTXY_cjs = require('./chunk-2KGTZTXY.cjs');
3
+ var chunkN7PCIGVW_cjs = require('./chunk-N7PCIGVW.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, 'TokenType', {
8
8
  enumerable: true,
9
- get: function () { return chunk2KGTZTXY_cjs.a; }
9
+ get: function () { return chunkN7PCIGVW_cjs.a; }
10
10
  });
11
11
  //# sourceMappingURL=out.js.map
12
12
  //# sourceMappingURL=token.cjs.map
package/dist/token.d.cts CHANGED
@@ -3,7 +3,8 @@ declare enum TokenType {
3
3
  ERC20 = "ERC20",
4
4
  ERC721 = "ERC721",
5
5
  ERC1155 = "ERC1155",
6
- NONERC = "NONERC"
6
+ NONERC = "NONERC",
7
+ SPL = "SPL"
7
8
  }
8
9
  interface NetworkToken {
9
10
  name: string;
@@ -12,7 +13,7 @@ interface NetworkToken {
12
13
  logoUri?: string;
13
14
  description?: string;
14
15
  }
15
- type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken;
16
+ type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken | SPLToken;
16
17
  interface ERC20Token {
17
18
  address: string;
18
19
  chainId?: number;
@@ -23,6 +24,18 @@ interface ERC20Token {
23
24
  name: string;
24
25
  symbol: string;
25
26
  }
27
+ interface SPLToken {
28
+ address: string;
29
+ name: string;
30
+ symbol: string;
31
+ contractType: TokenType.SPL;
32
+ type: TokenType.SPL;
33
+ caip2Id: string;
34
+ decimals: number;
35
+ chainId?: number;
36
+ logoUri?: string;
37
+ color?: string;
38
+ }
26
39
  interface ERC1155Token {
27
40
  address: string;
28
41
  type: TokenType.ERC1155;
@@ -45,4 +58,4 @@ interface NONERCToken {
45
58
  symbol?: string;
46
59
  }
47
60
 
48
- export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, TokenType };
61
+ export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, SPLToken, TokenType };
package/dist/token.d.ts CHANGED
@@ -3,7 +3,8 @@ declare enum TokenType {
3
3
  ERC20 = "ERC20",
4
4
  ERC721 = "ERC721",
5
5
  ERC1155 = "ERC1155",
6
- NONERC = "NONERC"
6
+ NONERC = "NONERC",
7
+ SPL = "SPL"
7
8
  }
8
9
  interface NetworkToken {
9
10
  name: string;
@@ -12,7 +13,7 @@ interface NetworkToken {
12
13
  logoUri?: string;
13
14
  description?: string;
14
15
  }
15
- type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken;
16
+ type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken | SPLToken;
16
17
  interface ERC20Token {
17
18
  address: string;
18
19
  chainId?: number;
@@ -23,6 +24,18 @@ interface ERC20Token {
23
24
  name: string;
24
25
  symbol: string;
25
26
  }
27
+ interface SPLToken {
28
+ address: string;
29
+ name: string;
30
+ symbol: string;
31
+ contractType: TokenType.SPL;
32
+ type: TokenType.SPL;
33
+ caip2Id: string;
34
+ decimals: number;
35
+ chainId?: number;
36
+ logoUri?: string;
37
+ color?: string;
38
+ }
26
39
  interface ERC1155Token {
27
40
  address: string;
28
41
  type: TokenType.ERC1155;
@@ -45,4 +58,4 @@ interface NONERCToken {
45
58
  symbol?: string;
46
59
  }
47
60
 
48
- export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, TokenType };
61
+ export { ERC1155Token, ERC20Token, ERC721Token, NONERCToken, NetworkContractToken, NetworkToken, SPLToken, TokenType };
package/dist/token.js CHANGED
@@ -1,3 +1,3 @@
1
- export { a as TokenType } from './chunk-7Y6UGMPZ.js';
1
+ export { a as TokenType } from './chunk-GMF7R4KJ.js';
2
2
  //# sourceMappingURL=out.js.map
3
3
  //# sourceMappingURL=token.js.map
@@ -1,4 +1,4 @@
1
- export { J as BalanceChange, P as TokenApproval, Q as TokenApprovals, K as TokenDiff, O as TokenDiffItem, U as TransactionSimulationResult } from './rpc-c6776d81.js';
1
+ export { K as BalanceChange, Q as TokenApproval, U as TokenApprovals, O as TokenDiff, P as TokenDiffItem, V as TransactionSimulationResult } from './rpc-d3af2845.js';
2
2
  import './token.cjs';
3
3
  import 'ethers';
4
4
  import '@avalabs/core-wallets-sdk';
@@ -1,4 +1,4 @@
1
- export { J as BalanceChange, P as TokenApproval, Q as TokenApprovals, K as TokenDiff, O as TokenDiffItem, U as TransactionSimulationResult } from './rpc-ab7acd4d.js';
1
+ export { K as BalanceChange, Q as TokenApproval, U as TokenApprovals, O as TokenDiff, P as TokenDiffItem, V as TransactionSimulationResult } from './rpc-e02a5305.js';
2
2
  import './token.js';
3
3
  import 'ethers';
4
4
  import '@avalabs/core-wallets-sdk';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avalabs/vm-module-types",
3
- "version": "1.4.6",
3
+ "version": "1.5.0",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -11,20 +11,19 @@
11
11
  ],
12
12
  "license": "Limited Ecosystem License",
13
13
  "dependencies": {
14
- "@avalabs/core-wallets-sdk": "3.1.0-alpha.34",
15
- "@avalabs/glacier-sdk": "3.1.0-alpha.34",
14
+ "@avalabs/core-wallets-sdk": "3.1.0-alpha.44",
15
+ "@avalabs/glacier-sdk": "3.1.0-alpha.44",
16
16
  "@metamask/rpc-errors": "6.3.0",
17
17
  "bitcoinjs-lib": "5.2.0",
18
18
  "zod": "3.23.8",
19
19
  "hypersdk-client": "0.4.16"
20
20
  },
21
21
  "devDependencies": {
22
- "@solana/rpc": "2.0.0",
23
22
  "@types/bn.js": "5.1.5",
24
23
  "bn.js": "5.2.1",
25
24
  "ethers": "6.13.5",
26
25
  "tsup": "7.2.0",
27
- "@internal/tsup-config": "0.0.1",
26
+ "@internal/tsup-config": "0.0.2",
28
27
  "eslint-config-custom": "0.0.1"
29
28
  },
30
29
  "peerDependencies": {
@@ -1,3 +0,0 @@
1
-
2
- //# sourceMappingURL=out.js.map
3
- //# sourceMappingURL=chunk-2DSAT5RW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/token.ts"],"names":["TokenType"],"mappings":"AAAO,IAAKA,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,OAAS,SALCA,OAAA","sourcesContent":["export enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n NONERC = 'NONERC',\n}\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n decimals: number;\n logoUri?: string;\n description?: string;\n}\n\nexport type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken;\n\nexport interface ERC20Token {\n address: string;\n chainId?: number;\n color?: string;\n type: TokenType.ERC20;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nexport interface ERC1155Token {\n address: string;\n type: TokenType.ERC1155;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n\nexport interface ERC721Token {\n address: string;\n type: TokenType.ERC721;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n\nexport interface NONERCToken {\n address: string;\n type: TokenType.NONERC;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n"]}
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- var t=(e=>(e.Mnemonic="mnemonic",e.Ledger="ledger",e.LedgerLive="ledger-live",e.Keystone="keystone",e.Seedless="seedless",e))(t||{});
4
-
5
- exports.a = t;
6
- //# sourceMappingURL=out.js.map
7
- //# sourceMappingURL=chunk-6JAA7W6A.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/account.ts"],"names":["WalletType"],"mappings":"AAEO,IAAKA,OAEVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,cACbA,EAAA,SAAW,WACXA,EAAA,SAAW,WANDA,OAAA","sourcesContent":["import type { Network } from './common';\n\nexport enum WalletType {\n // Primary wallet types\n Mnemonic = 'mnemonic',\n Ledger = 'ledger',\n LedgerLive = 'ledger-live',\n Keystone = 'keystone',\n Seedless = 'seedless',\n}\n\nexport type GetAddressParams = {\n walletType: WalletType;\n accountIndex: number;\n xpub: string;\n network?: Network;\n xpubXP?: string;\n};\n\nexport type GetAddressResponse = Record<string, string>;\n\nexport type PubKeyType = {\n evm: string;\n /**\n * Public keys used for X/P chain are from a different derivation path.\n */\n xp?: string;\n btcWalletPolicyDetails?: BtcWalletPolicyDetails;\n};\n\nexport type BtcWalletPolicyDetails = {\n hmacHex: string;\n /**\n * Extended public key of m/44'/60'/n\n */\n xpub: string;\n masterFingerprint: string;\n name: string;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/token.ts"],"names":["TokenType"],"mappings":"AAAO,IAAKA,OACVA,EAAA,OAAS,SACTA,EAAA,MAAQ,QACRA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,OAAS,SALCA,OAAA","sourcesContent":["export enum TokenType {\n NATIVE = 'NATIVE',\n ERC20 = 'ERC20',\n ERC721 = 'ERC721',\n ERC1155 = 'ERC1155',\n NONERC = 'NONERC',\n}\n\nexport interface NetworkToken {\n name: string;\n symbol: string;\n decimals: number;\n logoUri?: string;\n description?: string;\n}\n\nexport type NetworkContractToken = ERC20Token | ERC1155Token | ERC721Token | NONERCToken;\n\nexport interface ERC20Token {\n address: string;\n chainId?: number;\n color?: string;\n type: TokenType.ERC20;\n decimals: number;\n logoUri?: string;\n name: string;\n symbol: string;\n}\n\nexport interface ERC1155Token {\n address: string;\n type: TokenType.ERC1155;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n\nexport interface ERC721Token {\n address: string;\n type: TokenType.ERC721;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n\nexport interface NONERCToken {\n address: string;\n type: TokenType.NONERC;\n logoUri?: string;\n name?: string;\n symbol?: string;\n}\n"]}
@@ -1,5 +0,0 @@
1
- var t=(e=>(e.Mnemonic="mnemonic",e.Ledger="ledger",e.LedgerLive="ledger-live",e.Keystone="keystone",e.Seedless="seedless",e))(t||{});
2
-
3
- export { t as a };
4
- //# sourceMappingURL=out.js.map
5
- //# sourceMappingURL=chunk-I5OST5LZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/account.ts"],"names":["WalletType"],"mappings":"AAEO,IAAKA,OAEVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,cACbA,EAAA,SAAW,WACXA,EAAA,SAAW,WANDA,OAAA","sourcesContent":["import type { Network } from './common';\n\nexport enum WalletType {\n // Primary wallet types\n Mnemonic = 'mnemonic',\n Ledger = 'ledger',\n LedgerLive = 'ledger-live',\n Keystone = 'keystone',\n Seedless = 'seedless',\n}\n\nexport type GetAddressParams = {\n walletType: WalletType;\n accountIndex: number;\n xpub: string;\n network?: Network;\n xpubXP?: string;\n};\n\nexport type GetAddressResponse = Record<string, string>;\n\nexport type PubKeyType = {\n evm: string;\n /**\n * Public keys used for X/P chain are from a different derivation path.\n */\n xp?: string;\n btcWalletPolicyDetails?: BtcWalletPolicyDetails;\n};\n\nexport type BtcWalletPolicyDetails = {\n hmacHex: string;\n /**\n * Extended public key of m/44'/60'/n\n */\n xpub: string;\n masterFingerprint: string;\n name: string;\n};\n"]}
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- var t=(r=>(r.EVM="EVM",r.BITCOIN="BITCOIN",r.AVM="AVM",r.PVM="PVM",r.CoreEth="CoreEth",r.HVM="HVM",r))(t||{}),o=(e=>(e.PRODUCTION="production",e.DEV="dev",e))(o||{}),i=(r=>(r.CORE_MOBILE_IOS="core-mobile-ios",r.CORE_MOBILE_ANDROID="core-mobile-android",r.CORE_WEB="core-web",r.CORE_EXTENSION="core-extension",r.EXPLORER="explorer",r.OTHER="other",r))(i||{});
4
-
5
- exports.a = t;
6
- exports.b = o;
7
- exports.c = i;
8
- //# sourceMappingURL=out.js.map
9
- //# sourceMappingURL=chunk-IMMJESZ3.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common.ts"],"names":["NetworkVMType","Environment","AppName"],"mappings":"AAuBO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,QAAU,UACVA,EAAA,IAAM,MACNA,EAAA,IAAM,MACNA,EAAA,QAAU,UACVA,EAAA,IAAM,MANIA,OAAA,IAkBAC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAKAC,OACVA,EAAA,gBAAkB,kBAClBA,EAAA,oBAAsB,sBACtBA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,SAAW,WACXA,EAAA,MAAQ,QANEA,OAAA","sourcesContent":["import type { NetworkToken } from './token';\n\nexport type Network = {\n isTestnet?: boolean;\n chainId: number;\n chainName: string;\n rpcUrl: string;\n utilityAddresses?: {\n multicall: string;\n };\n networkToken: NetworkToken;\n pricingProviders?: {\n coingecko: {\n assetPlatformId?: string;\n nativeTokenId?: string;\n };\n };\n explorerUrl?: string;\n logoUri?: string;\n vmName: NetworkVMType;\n vmRpcPrefix?: string;\n};\n\nexport enum NetworkVMType {\n EVM = 'EVM',\n BITCOIN = 'BITCOIN',\n AVM = 'AVM',\n PVM = 'PVM',\n CoreEth = 'CoreEth',\n HVM = 'HVM',\n}\n\nexport type Storage = {\n get: <T>(id: string) => T | undefined;\n set: <T>(id: string, data: T) => void;\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport enum AppName {\n CORE_MOBILE_IOS = 'core-mobile-ios',\n CORE_MOBILE_ANDROID = 'core-mobile-android',\n CORE_WEB = 'core-web',\n CORE_EXTENSION = 'core-extension',\n EXPLORER = 'explorer',\n OTHER = 'other',\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAC7BA,EAAA,2BAA6B,4BAG7BA,EAAA,qBAAuB,sBArBbA,OAAA,IAgFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OARGA,OAAA,IA8FAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n AVALANCHE_SIGN_TRANSACTION = 'avalanche_signTransaction',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem;\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n details: DetailSection[];\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n externalIndices?: number[];\n internalIndices?: number[];\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n ownSignatureIndices: [number, number][];\n }\n | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\n/**\n * We want to accept both a signed data (tx/message) and a tx hash as a response\n * coming in from the client apps, hence the XORs here.\n *\n * The reason we need to support both is because extension allows importing\n * external software wallets, such as Fireblocks or other apps that support\n * the WalletConnect protocol.\n *\n * My experience is that WalletConnect apps rarely, if ever, support\n * \"eth_signTransaction\" requests and more often only allow sending\n * \"eth_sendTransaction\" calls, which means that all we'll get in response\n * from them is the transaction hash (not a signed tx).\n */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex, requestId: string) => void;\n onTransactionReverted: (txHash: Hex, requestId: string) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/rpc.ts"],"names":["RpcMethod","DetailItemType","AlertType"],"mappings":"AAQO,IAAKA,OAEVA,EAAA,yBAA2B,0BAC3BA,EAAA,yBAA2B,0BAG3BA,EAAA,qBAAuB,sBACvBA,EAAA,2BAA6B,2BAC7BA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,gBAAkB,oBAClBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAGXA,EAAA,uBAAyB,wBACzBA,EAAA,2BAA6B,4BAC7BA,EAAA,2BAA6B,4BAG7BA,EAAA,qBAAuB,sBArBbA,OAAA,IAgFAC,OACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UACVA,EAAA,QAAU,SACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,iBAClBA,EAAA,KAAO,OACPA,EAAA,KAAO,OACPA,EAAA,KAAO,OARGA,OAAA,IA8FAC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,KAAO,OAHGA,OAAA","sourcesContent":["import type { TransactionRequest } from 'ethers';\nimport type { Avalanche, BitcoinInputUTXO, BitcoinOutputUTXO } from '@avalabs/core-wallets-sdk';\nimport type { Caip2ChainId, Hex } from './common';\nimport type { JsonRpcError, EthereumProviderError, OptionalDataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { BalanceChange, TokenApprovals } from './transaction-simulation';\nimport type { TokenWithBalanceBTC } from './balance';\nimport type { TransactionPayload, VMABI } from 'hypersdk-client';\n\nexport enum RpcMethod {\n /* BTC */\n BITCOIN_SEND_TRANSACTION = 'bitcoin_sendTransaction',\n BITCOIN_SIGN_TRANSACTION = 'bitcoin_signTransaction',\n\n /* EVM */\n ETH_SEND_TRANSACTION = 'eth_sendTransaction',\n ETH_SEND_TRANSACTION_BATCH = 'eth_sendTransactionBatch',\n SIGN_TYPED_DATA_V3 = 'eth_signTypedData_v3',\n SIGN_TYPED_DATA_V4 = 'eth_signTypedData_v4',\n SIGN_TYPED_DATA_V1 = 'eth_signTypedData_v1',\n SIGN_TYPED_DATA = 'eth_signTypedData',\n PERSONAL_SIGN = 'personal_sign',\n ETH_SIGN = 'eth_sign',\n\n /* AVALANCHE */\n AVALANCHE_SIGN_MESSAGE = 'avalanche_signMessage',\n AVALANCHE_SEND_TRANSACTION = 'avalanche_sendTransaction',\n AVALANCHE_SIGN_TRANSACTION = 'avalanche_signTransaction',\n\n /* HVM */\n HVM_SIGN_TRANSACTION = 'hvm_signTransaction',\n}\n\nexport type DappInfo = {\n name: string;\n url: string;\n icon: string;\n};\n\nexport type RpcRequest = {\n requestId: string;\n sessionId: string;\n method: RpcMethod;\n chainId: Caip2ChainId;\n params: unknown;\n dappInfo: DappInfo;\n context?: Record<string, unknown>; // for storing additional context information that's only relevant to the consumer\n};\n\nexport type RpcError =\n | JsonRpcError<OptionalDataWithOptionalCause>\n | EthereumProviderError<OptionalDataWithOptionalCause>;\n\nexport type RpcResponse<R = unknown, E extends RpcError = JsonRpcError<OptionalDataWithOptionalCause>> =\n | {\n result: R;\n }\n | {\n error: E;\n };\n\nexport interface MessageTypeProperty {\n name: string;\n type: string;\n}\n\nexport interface MessageTypes {\n EIP712Domain: MessageTypeProperty[];\n [additionalProperties: string]: MessageTypeProperty[];\n}\n\nexport interface TypedData<T extends MessageTypes> {\n types: T;\n primaryType: keyof T;\n domain: Record<string, unknown>;\n message: Record<string, unknown>;\n}\n\nexport type TypedDataV1 = { name: string; type: string; value: unknown }[];\n\nexport type DetailSection = {\n title?: string;\n items: DetailItem[];\n};\n\nexport type BaseDetailItem = {\n label: string;\n};\n\nexport enum DetailItemType {\n TEXT = 'text',\n ADDRESS = 'address',\n NODE_ID = 'nodeID',\n CURRENCY = 'currency',\n FUNDS_RECIPIENT = 'fundsRecipient',\n DATA = 'data',\n DATE = 'date',\n LINK = 'link',\n}\n\n// It's very similar as CurrencyItem, but we want the client apps\n// to treat the label as an address (recognize it if possible,\n// truncate otherwise).\nexport type FundsRecipientItem = BaseDetailItem & {\n type: DetailItemType.FUNDS_RECIPIENT;\n amount: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type TextItem = BaseDetailItem & {\n type: DetailItemType.TEXT;\n value: string;\n alignment: 'vertical' | 'horizontal';\n};\n\nexport type AddressItem = BaseDetailItem & {\n type: DetailItemType.ADDRESS;\n value: string;\n};\n\nexport type NodeIDItem = BaseDetailItem & {\n type: DetailItemType.NODE_ID;\n value: string;\n};\n\nexport type CurrencyItem = BaseDetailItem & {\n type: DetailItemType.CURRENCY;\n value: bigint;\n maxDecimals: number;\n symbol: string;\n};\n\nexport type DataItem = BaseDetailItem & {\n type: DetailItemType.DATA;\n value: string;\n};\n\nexport type DateItem = BaseDetailItem & {\n type: DetailItemType.DATE;\n value: string;\n};\n\nexport type LinkItemValue = { url: string; name?: string; icon?: string };\n\nexport type LinkItem = BaseDetailItem & {\n type: DetailItemType.LINK;\n value: LinkItemValue;\n};\n\nexport type DetailItem =\n | string\n | TextItem\n | AddressItem\n | NodeIDItem\n | CurrencyItem\n | DataItem\n | DateItem\n | LinkItem\n | FundsRecipientItem;\n\nexport type DisplayData = {\n title: string;\n dAppInfo?: {\n name: string;\n action: string;\n logoUri?: string;\n };\n network: {\n chainId: number;\n name: string;\n logoUri?: string;\n };\n account?: string;\n details: DetailSection[];\n networkFeeSelector?: boolean;\n disclaimer?: string;\n alert?: Alert;\n balanceChange?: BalanceChange;\n tokenApprovals?: TokenApprovals;\n isSimulationSuccessful?: boolean;\n};\n\nexport enum AlertType {\n WARNING = 'Warning',\n DANGER = 'Danger',\n INFO = 'Info',\n}\n\nexport type AlertDetails = {\n title: string;\n description: string;\n detailedDescription?: string;\n actionTitles?: {\n proceed: string;\n reject: string;\n };\n};\n\nexport type Alert = {\n type: AlertType;\n details: AlertDetails;\n};\n\nexport type BitcoinExecuteTxData = {\n to: string;\n amount: number;\n feeRate: number;\n fee: number;\n gasLimit: number;\n balance: TokenWithBalanceBTC;\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type BitcoingSignTxData = {\n inputs: BitcoinInputUTXO[];\n outputs: BitcoinOutputUTXO[];\n};\n\nexport type SigningData =\n | {\n type: RpcMethod.BITCOIN_SEND_TRANSACTION;\n account: string;\n data: BitcoinExecuteTxData;\n }\n | {\n type: RpcMethod.BITCOIN_SIGN_TRANSACTION;\n account: string;\n data: BitcoingSignTxData;\n }\n | SigningData_EthSendTx\n | {\n type: RpcMethod.ETH_SIGN | RpcMethod.PERSONAL_SIGN;\n account: string;\n data: string;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA | RpcMethod.SIGN_TYPED_DATA_V1;\n account: string;\n data: TypedData<MessageTypes> | TypedDataV1;\n }\n | {\n type: RpcMethod.SIGN_TYPED_DATA_V3 | RpcMethod.SIGN_TYPED_DATA_V4;\n account: string;\n data: TypedData<MessageTypes>;\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_MESSAGE;\n data: string;\n accountIndex?: number;\n }\n | {\n type: RpcMethod.AVALANCHE_SEND_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n externalIndices?: number[];\n internalIndices?: number[];\n }\n | {\n type: RpcMethod.AVALANCHE_SIGN_TRANSACTION;\n unsignedTxJson: string;\n data: Avalanche.Tx;\n vm: 'EVM' | 'AVM' | 'PVM';\n ownSignatureIndices: [number, number][];\n }\n | {\n type: RpcMethod.HVM_SIGN_TRANSACTION;\n data: {\n abi: VMABI;\n txPayload: TransactionPayload;\n };\n };\n\nexport type SigningData_EthSendTx = {\n type: RpcMethod.ETH_SEND_TRANSACTION;\n account: string;\n data: TransactionRequest;\n};\n\nexport type EvmTxBatchUpdateFn = (\n data: { maxFeeRate?: bigint; maxTipRate?: bigint },\n txIndex: number,\n) => {\n displayData: DisplayData;\n signingRequests: {\n displayData: DisplayData;\n signingData: SigningData_EthSendTx;\n }[];\n};\n\nexport type EvmTxUpdateFn = (data: {\n maxFeeRate?: bigint;\n maxTipRate?: bigint;\n approvalLimit?: Hex; // as hexadecimal, 0x-prefixed\n}) => { displayData: DisplayData; signingData: SigningData_EthSendTx };\n\nexport type BtcTxUpdateFn = (data: { feeRate?: number }) => {\n displayData: DisplayData;\n signingData: Extract<SigningData, { type: RpcMethod.BITCOIN_SEND_TRANSACTION }>;\n};\n\nexport type SigningRequest<Data = SigningData> = {\n displayData: DisplayData;\n signingData: Data;\n updateTx?: EvmTxUpdateFn | BtcTxUpdateFn;\n};\n\nexport type ApprovalParams = {\n request: RpcRequest;\n} & SigningRequest;\n\nexport type BatchApprovalParams = {\n request: RpcRequest;\n signingRequests: SigningRequest<SigningData_EthSendTx>[];\n displayData: DisplayData;\n updateTx: EvmTxBatchUpdateFn;\n};\n\n/**\n * We want to accept both a signed data (tx/message) and a tx hash as a response\n * coming in from the client apps, hence the XORs here.\n *\n * The reason we need to support both is because extension allows importing\n * external software wallets, such as Fireblocks or other apps that support\n * the WalletConnect protocol.\n *\n * My experience is that WalletConnect apps rarely, if ever, support\n * \"eth_signTransaction\" requests and more often only allow sending\n * \"eth_sendTransaction\" calls, which means that all we'll get in response\n * from them is the transaction hash (not a signed tx).\n */\ntype SignedData = { signedData: string };\ntype BroadcastedTx = { txHash: string };\n\nexport type SigningResult = SignedData | BroadcastedTx;\n\nexport type ApprovalResponse =\n | {\n error: RpcError;\n }\n | SigningResult;\n\nexport type BatchApprovalResponse =\n | { error: RpcError }\n | {\n result: SignedData[];\n };\nexport interface ApprovalController {\n requestApproval: (params: ApprovalParams) => Promise<ApprovalResponse>;\n onTransactionConfirmed: (txHash: Hex, requestId: string) => void;\n onTransactionReverted: (txHash: Hex, requestId: string) => void;\n}\n\nexport interface BatchApprovalController extends ApprovalController {\n requestBatchApproval: (params: BatchApprovalParams) => Promise<BatchApprovalResponse>;\n}\n"]}
@@ -1,5 +0,0 @@
1
- var t=(r=>(r.EVM="EVM",r.BITCOIN="BITCOIN",r.AVM="AVM",r.PVM="PVM",r.CoreEth="CoreEth",r.HVM="HVM",r))(t||{}),o=(e=>(e.PRODUCTION="production",e.DEV="dev",e))(o||{}),i=(r=>(r.CORE_MOBILE_IOS="core-mobile-ios",r.CORE_MOBILE_ANDROID="core-mobile-android",r.CORE_WEB="core-web",r.CORE_EXTENSION="core-extension",r.EXPLORER="explorer",r.OTHER="other",r))(i||{});
2
-
3
- export { t as a, o as b, i as c };
4
- //# sourceMappingURL=out.js.map
5
- //# sourceMappingURL=chunk-UN6P2KX4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/common.ts"],"names":["NetworkVMType","Environment","AppName"],"mappings":"AAuBO,IAAKA,OACVA,EAAA,IAAM,MACNA,EAAA,QAAU,UACVA,EAAA,IAAM,MACNA,EAAA,IAAM,MACNA,EAAA,QAAU,UACVA,EAAA,IAAM,MANIA,OAAA,IAkBAC,OACVA,EAAA,WAAa,aACbA,EAAA,IAAM,MAFIA,OAAA,IAKAC,OACVA,EAAA,gBAAkB,kBAClBA,EAAA,oBAAsB,sBACtBA,EAAA,SAAW,WACXA,EAAA,eAAiB,iBACjBA,EAAA,SAAW,WACXA,EAAA,MAAQ,QANEA,OAAA","sourcesContent":["import type { NetworkToken } from './token';\n\nexport type Network = {\n isTestnet?: boolean;\n chainId: number;\n chainName: string;\n rpcUrl: string;\n utilityAddresses?: {\n multicall: string;\n };\n networkToken: NetworkToken;\n pricingProviders?: {\n coingecko: {\n assetPlatformId?: string;\n nativeTokenId?: string;\n };\n };\n explorerUrl?: string;\n logoUri?: string;\n vmName: NetworkVMType;\n vmRpcPrefix?: string;\n};\n\nexport enum NetworkVMType {\n EVM = 'EVM',\n BITCOIN = 'BITCOIN',\n AVM = 'AVM',\n PVM = 'PVM',\n CoreEth = 'CoreEth',\n HVM = 'HVM',\n}\n\nexport type Storage = {\n get: <T>(id: string) => T | undefined;\n set: <T>(id: string, data: T) => void;\n};\n\nexport type Caip2ChainId = string;\n\nexport type Hex = `0x${string}`;\n\nexport enum Environment {\n PRODUCTION = 'production',\n DEV = 'dev',\n}\n\nexport enum AppName {\n CORE_MOBILE_IOS = 'core-mobile-ios',\n CORE_MOBILE_ANDROID = 'core-mobile-android',\n CORE_WEB = 'core-web',\n CORE_EXTENSION = 'core-extension',\n EXPLORER = 'explorer',\n OTHER = 'other',\n}\n"]}