@atomiqlabs/base 10.0.0-dev.13 → 10.0.0-dev.15

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.
@@ -8,7 +8,7 @@ export type AbstractSigner = {
8
8
  init?: () => Promise<void>;
9
9
  stop?: () => Promise<void>;
10
10
  };
11
- export interface ChainInterface<TX = any, Signer extends AbstractSigner = AbstractSigner, ChainId extends string = string> {
11
+ export interface ChainInterface<TX = any, Signer extends AbstractSigner = AbstractSigner, ChainId extends string = string, NativeSigner = any> {
12
12
  readonly chainId: ChainId;
13
13
  /**
14
14
  * Returns the token balance of a specific address
@@ -109,4 +109,8 @@ export interface ChainInterface<TX = any, Signer extends AbstractSigner = Abstra
109
109
  * Returns randomly generated signer
110
110
  */
111
111
  randomSigner(): Signer;
112
+ /**
113
+ * Wraps a native chain signer object to an atomiq-understandable AbstractSigner
114
+ */
115
+ wrapSigner(signer: NativeSigner): Promise<Signer>;
112
116
  }
@@ -6,7 +6,7 @@ import { AbstractSigner, ChainInterface } from "./ChainInterface";
6
6
  import { SpvVaultData } from "../spv_swap/SpvVaultData";
7
7
  import { SpvVaultContract } from "../spv_swap/SpvVaultContract";
8
8
  import { SpvWithdrawalTransactionData } from "../spv_swap/SpvWithdrawalTransactionData";
9
- export type ChainType<ChainId extends string = string, PreFetchData = any, PreFetchVerification = any, TXType = any, Signer extends AbstractSigner = AbstractSigner, T extends SwapData = SwapData, C extends SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId> = SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId>, I extends ChainInterface<TXType, Signer, ChainId> = ChainInterface<TXType, Signer, ChainId>, E extends ChainEvents<T> = ChainEvents<T>, B extends BtcRelay<any, TXType, any, Signer> = BtcRelay<any, TXType, any, Signer>, SpvData extends SpvVaultData = SpvVaultData, SpvWithdrawalData extends SpvWithdrawalTransactionData = SpvWithdrawalTransactionData, SpvContract extends SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData> = SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData>> = {
9
+ export type ChainType<ChainId extends string = string, PreFetchData = any, PreFetchVerification = any, TXType = any, Signer extends AbstractSigner = AbstractSigner, NativeSigner = any, T extends SwapData = SwapData, C extends SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId> = SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId>, I extends ChainInterface<TXType, Signer, ChainId, NativeSigner> = ChainInterface<TXType, Signer, ChainId, NativeSigner>, E extends ChainEvents<T> = ChainEvents<T>, B extends BtcRelay<any, TXType, any, Signer> = BtcRelay<any, TXType, any, Signer>, SpvData extends SpvVaultData = SpvVaultData, SpvWithdrawalData extends SpvWithdrawalTransactionData = SpvWithdrawalTransactionData, SpvContract extends SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData> = SpvVaultContract<TXType, Signer, ChainId, SpvData, SpvWithdrawalData>> = {
10
10
  ChainId: ChainId;
11
11
  PreFetchData: PreFetchData;
12
12
  PreFetchVerification: PreFetchVerification;
@@ -20,4 +20,5 @@ export type ChainType<ChainId extends string = string, PreFetchData = any, PreFe
20
20
  SpvVaultData: SpvData;
21
21
  SpvVaultContract: SpvContract;
22
22
  SpvVaultWithdrawalData: SpvWithdrawalData;
23
+ NativeSigner: NativeSigner;
23
24
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/base",
3
- "version": "10.0.0-dev.13",
3
+ "version": "10.0.0-dev.15",
4
4
  "description": "Base classes and interfaces for atomiq protocol",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -13,7 +13,8 @@ export type AbstractSigner = {
13
13
  export interface ChainInterface<
14
14
  TX = any,
15
15
  Signer extends AbstractSigner = AbstractSigner,
16
- ChainId extends string = string
16
+ ChainId extends string = string,
17
+ NativeSigner = any
17
18
  > {
18
19
 
19
20
  readonly chainId: ChainId;
@@ -132,4 +133,9 @@ export interface ChainInterface<
132
133
  */
133
134
  randomSigner(): Signer;
134
135
 
136
+ /**
137
+ * Wraps a native chain signer object to an atomiq-understandable AbstractSigner
138
+ */
139
+ wrapSigner(signer: NativeSigner): Promise<Signer>;
140
+
135
141
  }
@@ -13,9 +13,10 @@ export type ChainType<
13
13
  PreFetchVerification = any,
14
14
  TXType = any,
15
15
  Signer extends AbstractSigner = AbstractSigner,
16
+ NativeSigner = any,
16
17
  T extends SwapData = SwapData,
17
18
  C extends SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId> = SwapContract<T, TXType, PreFetchData, PreFetchVerification, Signer, ChainId>,
18
- I extends ChainInterface<TXType, Signer, ChainId> = ChainInterface<TXType, Signer, ChainId>,
19
+ I extends ChainInterface<TXType, Signer, ChainId, NativeSigner> = ChainInterface<TXType, Signer, ChainId, NativeSigner>,
19
20
  E extends ChainEvents<T> = ChainEvents<T>,
20
21
  B extends BtcRelay<any, TXType, any, Signer> = BtcRelay<any, TXType, any, Signer>,
21
22
  SpvData extends SpvVaultData = SpvVaultData,
@@ -34,5 +35,6 @@ export type ChainType<
34
35
  BtcRelay: B,
35
36
  SpvVaultData: SpvData,
36
37
  SpvVaultContract: SpvContract,
37
- SpvVaultWithdrawalData: SpvWithdrawalData
38
+ SpvVaultWithdrawalData: SpvWithdrawalData,
39
+ NativeSigner: NativeSigner
38
40
  }