@axelar-network/axelarjs-sdk 0.3.6 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -3
- package/dist/TransferAssetBridge/index.d.ts +2 -1
- package/dist/TransferAssetBridge/index.d.ts.map +1 -1
- package/dist/TransferAssetBridge/index.js +43 -16
- package/dist/TransferAssetBridge/index.js.map +1 -1
- package/dist/TransferAssetBridge/status/index.d.ts +1 -1
- package/dist/TransferAssetBridge/status/index.d.ts.map +1 -1
- package/dist/TransferAssetBridge/status/index.js +3 -2
- package/dist/TransferAssetBridge/status/index.js.map +1 -1
- package/dist/{constants/assetsPerEnvironment.d.ts → assets/index.d.ts} +5 -2
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/{constants/assetsPerEnvironment.js → assets/index.js} +14 -1
- package/dist/assets/index.js.map +1 -0
- package/dist/chains/Axelar/WaitingService.d.ts +3 -2
- package/dist/chains/Axelar/WaitingService.d.ts.map +1 -1
- package/dist/chains/Axelar/WaitingService.js +9 -13
- package/dist/chains/Axelar/WaitingService.js.map +1 -1
- package/dist/chains/Bitcoin/WaitingService.d.ts +3 -2
- package/dist/chains/Bitcoin/WaitingService.d.ts.map +1 -1
- package/dist/chains/Bitcoin/WaitingService.js +4 -3
- package/dist/chains/Bitcoin/WaitingService.js.map +1 -1
- package/dist/chains/Ethereum/WaitingService.d.ts +7 -3
- package/dist/chains/Ethereum/WaitingService.d.ts.map +1 -1
- package/dist/chains/Ethereum/WaitingService.js +24 -13
- package/dist/chains/Ethereum/WaitingService.js.map +1 -1
- package/dist/chains/Ethereum/index.d.ts.map +1 -1
- package/dist/chains/Ethereum/index.js +3 -15
- package/dist/chains/Ethereum/index.js.map +1 -1
- package/dist/chains/Terra/index.d.ts +0 -2
- package/dist/chains/Terra/index.d.ts.map +1 -1
- package/dist/chains/Terra/index.js +1 -2
- package/dist/chains/Terra/index.js.map +1 -1
- package/dist/chains/index.d.ts.map +1 -1
- package/dist/chains/index.js +2 -4
- package/dist/chains/index.js.map +1 -1
- package/dist/chains/models/BaseWaitingService.d.ts +5 -2
- package/dist/chains/models/BaseWaitingService.d.ts.map +1 -1
- package/dist/chains/models/BaseWaitingService.js +32 -1
- package/dist/chains/models/BaseWaitingService.js.map +1 -1
- package/dist/constants/index.d.ts +9 -7
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +12 -14
- package/dist/constants/index.js.map +1 -1
- package/dist/interface/IAssetTransferObject.d.ts +2 -6
- package/dist/interface/IAssetTransferObject.d.ts.map +1 -1
- package/dist/interface/IAssetTransferObject.js +2 -8
- package/dist/interface/IAssetTransferObject.js.map +1 -1
- package/dist/interface/index.d.ts +10 -1
- package/dist/interface/index.d.ts.map +1 -1
- package/dist/interface/index.js.map +1 -1
- package/dist/utils/EthersJs/EthersJsWaitingService.d.ts +3 -2
- package/dist/utils/EthersJs/EthersJsWaitingService.d.ts.map +1 -1
- package/dist/utils/EthersJs/EthersJsWaitingService.js +6 -5
- package/dist/utils/EthersJs/EthersJsWaitingService.js.map +1 -1
- package/dist/utils/EthersJs/ethersjsProvider.d.ts +2 -2
- package/dist/utils/EthersJs/ethersjsProvider.d.ts.map +1 -1
- package/dist/utils/EthersJs/ethersjsProvider.js +13 -29
- package/dist/utils/EthersJs/ethersjsProvider.js.map +1 -1
- package/package.json +1 -1
- package/dist/chains/Terra/WaitingService.d.ts +0 -8
- package/dist/chains/Terra/WaitingService.d.ts.map +0 -1
- package/dist/chains/Terra/WaitingService.js +0 -81
- package/dist/chains/Terra/WaitingService.js.map +0 -1
- package/dist/constants/assetsPerEnvironment.d.ts.map +0 -1
- package/dist/constants/assetsPerEnvironment.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,3 +1,248 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# AxelarJS SDK
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The Axelar JS SDK was created to abstract a set of tools used to make requests into the Axelar Network.
|
|
6
|
+
|
|
7
|
+
One of our early use cases is a simple transfer of crypto assets across any of our supported chains.
|
|
8
|
+
|
|
9
|
+
Day 1, this will include:
|
|
10
|
+
|
|
11
|
+
| Supported Assets | Supported Blockchain Networks |
|
|
12
|
+
| ------------- | ------------- |
|
|
13
|
+
| <ul><li>Axelar native tokens</li><li>LUNA (Terra native tokens)</li><li>UST (Terra stablecoin)</li></ul> | <ul><li>Avalanche</li><li>Axelar</li><li>Ethereum</li><li>Fantom</li><li>Polygon</li><li>Terra</li></ul> |
|
|
14
|
+
|
|
15
|
+
The list will continue to grow, as will the use cases of this SDK.
|
|
16
|
+
|
|
17
|
+
Thank you for your support!
|
|
18
|
+
|
|
19
|
+
## Technical Overview
|
|
20
|
+
|
|
21
|
+
The Axelar JS SDK is an npm dependency that includes libraries that make requests into the Axelar Network.
|
|
22
|
+
|
|
23
|
+
- Any request from the JS SDK is routed through a node rest server that redirects requests through a coordinated
|
|
24
|
+
collection of microservices controlled by Axelar.
|
|
25
|
+
- These microservices facilitate the relay of cross-chain transactions that run on top of the Axelar Network.
|
|
26
|
+
- See diagram below.
|
|
27
|
+
|
|
28
|
+

|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Note
|
|
32
|
+
This SDK repo is still in early development, and candidly, Axelar's own webapp has been its only consumer so far.
|
|
33
|
+
|
|
34
|
+
***We expect to continue iterating quickly until the ultimate launch, and there are several (potentially breaking)
|
|
35
|
+
changes in the hopper including
|
|
36
|
+
- requirements for API keys/tokens for SDK consumers
|
|
37
|
+
- cleanup of typed interface names
|
|
38
|
+
- other potential refactoring
|
|
39
|
+
|
|
40
|
+
Accordingly, please ensure you have the latest and let us know of any issues you encounter using the SDK.
|
|
41
|
+
|
|
42
|
+
Either reach out to us directly or file a github issue on the repo.
|
|
43
|
+
|
|
44
|
+
## Onboarding process
|
|
45
|
+
Initially, we are gatekeeping the rollout of this SDK a bit as we work through some kinks.
|
|
46
|
+
|
|
47
|
+
For now, this means that we are whitelisting hosts that can access the APIs and underlying services downstream,
|
|
48
|
+
i.e. it is restricted by both recaptcha validation and cors settings.
|
|
49
|
+
|
|
50
|
+
So, our proposed process is as follows:
|
|
51
|
+
1. Install and integrate the API, as shown in the `Installation` and `Getting Started` steps below.
|
|
52
|
+
2. Let us know the hostnames you intend to have access the APIs. We will add that to our list of approved domains.
|
|
53
|
+
Note: API access will shortly be restricted by API keys
|
|
54
|
+
|
|
55
|
+
## Installation
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm i --save @axelar-network/axelarjs-sdk
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
For the time being, the repo is a private repository that can only be accessed with an NPM token.
|
|
62
|
+
|
|
63
|
+
** Set your `.npmrc` file accordingly and secure your NPM TOKEN safely! (i.e. in secrets injected directly into your environment variables)
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Getting Started
|
|
70
|
+
|
|
71
|
+
You can use something like the following snippets to first set up the library consumer and then to instantiate it
|
|
72
|
+
|
|
73
|
+
For initial setup:
|
|
74
|
+
```tsx
|
|
75
|
+
import {
|
|
76
|
+
IAssetInfoWithTrace,
|
|
77
|
+
IAssetTransferObject,
|
|
78
|
+
ICallbackStatus,
|
|
79
|
+
TransferAssetBridge
|
|
80
|
+
} from "@axelar-network/axelarjs-sdk";
|
|
81
|
+
|
|
82
|
+
export class AxelarJSSDKFacade {
|
|
83
|
+
|
|
84
|
+
private static environment: string;
|
|
85
|
+
private static axelarJsSDK: TransferAssetBridge;
|
|
86
|
+
|
|
87
|
+
constructor(environment: string) {
|
|
88
|
+
AxelarJSSDKFacade.environment = environment;
|
|
89
|
+
AxelarJSSDKFacade.axelarJsSDK = new TransferAssetBridge(AxelarJSSDKFacade.environment);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
public static async transferAssets(
|
|
93
|
+
payload: IAssetTransferObject,
|
|
94
|
+
sourceCbs: ICallbackStatus,
|
|
95
|
+
destCbs: ICallbackStatus
|
|
96
|
+
): Promise<IAssetInfoWithTrace> {
|
|
97
|
+
|
|
98
|
+
try {
|
|
99
|
+
return AxelarJSSDKFacade.axelarJsSDK.transferAssets(payload, sourceCbs, destCbs, false);
|
|
100
|
+
} catch (e: any) {
|
|
101
|
+
sourceCbs?.failCb();
|
|
102
|
+
throw e;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
For instantiation and invocation:
|
|
110
|
+
```tsx
|
|
111
|
+
|
|
112
|
+
const environment: string = "devnet"; /*environment should be one of local | devnet | testnet*/
|
|
113
|
+
|
|
114
|
+
const api: AxelarJSSDKFacade = new AxelarJSSDKFacade(environment);
|
|
115
|
+
|
|
116
|
+
/*set up parmeters here; see sample parameters in `API Usage Details` below for more guidance*/
|
|
117
|
+
const {requestPayload, sourceChainCbs, destinationChainCbs} = getParameters();
|
|
118
|
+
|
|
119
|
+
const depositAddress: IAssetInfo, traceId: string;
|
|
120
|
+
|
|
121
|
+
authenticateWithRecaptcha().then(async (recaptchaToken: string) => {
|
|
122
|
+
|
|
123
|
+
if (isRecaptchaAuthenticated) {
|
|
124
|
+
|
|
125
|
+
requestPayload.recaptchaToken = recaptchaToken;
|
|
126
|
+
|
|
127
|
+
try {
|
|
128
|
+
const res: IAssetInfoWithTrace = await api.transferAssets(
|
|
129
|
+
requestPayload,
|
|
130
|
+
{
|
|
131
|
+
successCb: sourceChainCbs.successCb,
|
|
132
|
+
failCb: sourceChainCbs.failCb
|
|
133
|
+
},{
|
|
134
|
+
successCb: destinationChainCbs.successCb,
|
|
135
|
+
failCb: destinationChainCbs.failCb
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
depositAddress = res.assetInfo;
|
|
139
|
+
traceId = res.traceId;
|
|
140
|
+
} catch (e: any) {
|
|
141
|
+
/*
|
|
142
|
+
your error handling here, i.e:
|
|
143
|
+
reject("transfer asset api error" + e);
|
|
144
|
+
* */
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
})
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Sample recaptcha authentication
|
|
153
|
+
```tsx
|
|
154
|
+
//authenticateWithRecaptcha.ts
|
|
155
|
+
|
|
156
|
+
/*This recaptcha public site key is intentionally made public for you to use
|
|
157
|
+
* For more information on Google Recaptcha V3: https://developers.google.com/recaptcha/docs/v3
|
|
158
|
+
* */
|
|
159
|
+
const RECAPTCHA_SITE_KEY: string = "6LcxwsocAAAAANQ1t72JEcligfeSr7SSq_pDC9vR";
|
|
160
|
+
|
|
161
|
+
declare const grecaptcha: any;
|
|
162
|
+
|
|
163
|
+
const authenticateWithRecaptcha = () => {
|
|
164
|
+
return new Promise((resolve, reject) => {
|
|
165
|
+
grecaptcha.ready(async () => {
|
|
166
|
+
try {
|
|
167
|
+
const token = await grecaptcha.execute(RECAPTCHA_SITE_KEY);
|
|
168
|
+
resolve(token);
|
|
169
|
+
} catch (e: any) {
|
|
170
|
+
/*error handling of failed recaptcha here*/
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
## API Usage Details
|
|
178
|
+
|
|
179
|
+
The transferAssets method takes three parameters:
|
|
180
|
+
1. requestPayload: a complex struct of type `IAssetTransferObject`
|
|
181
|
+
2. sourceChainCbs: an object of success(/fail) callbacks invoked on a success(/fail) result while attempting to confirm your deposit from the requestPayload on the source chain
|
|
182
|
+
3. destinationChainCbs: an object of success(/fail) callbacks invoked on a success(/fail) result while attempting to confirm your asset on the destination chain
|
|
183
|
+
|
|
184
|
+
Sample parameters:
|
|
185
|
+
```tsx
|
|
186
|
+
// getParameters.ts
|
|
187
|
+
|
|
188
|
+
const getParameters = () => {
|
|
189
|
+
|
|
190
|
+
let requestPayload: IAssetTransferObject = {
|
|
191
|
+
sourceChainInfo: {
|
|
192
|
+
chainSymbol: "ETH",
|
|
193
|
+
chainName: "Ethereum",
|
|
194
|
+
estimatedWaitTime: 15,
|
|
195
|
+
fullySupported: true,
|
|
196
|
+
assets: [],
|
|
197
|
+
txFeeInPercent: 0.1
|
|
198
|
+
},
|
|
199
|
+
selectedSourceAsset: {
|
|
200
|
+
assetAddress: "NA",
|
|
201
|
+
assetSymbol: "AXL",
|
|
202
|
+
common_key: "uaxl"
|
|
203
|
+
},
|
|
204
|
+
destinationChainInfo: {
|
|
205
|
+
chainSymbol: "MOONBEAM",
|
|
206
|
+
chainName: "Moonbeam",
|
|
207
|
+
estimatedWaitTime: 5,
|
|
208
|
+
fullySupported: true,
|
|
209
|
+
assets: [],
|
|
210
|
+
txFeeInPercent: 0.1
|
|
211
|
+
},
|
|
212
|
+
selectedDestinationAsset: {
|
|
213
|
+
assetAddress: "YOUR_VALID_MOONBEAM_ADDRESS",
|
|
214
|
+
assetSymbol: "AXL",
|
|
215
|
+
common_key: "uaxl"
|
|
216
|
+
},
|
|
217
|
+
recaptchaToken: null, // null for now, to be populated in authenticateWithRecaptcha's response callback, as shown above
|
|
218
|
+
transactionTraceId: "YOUR_OWN_UUID" //your own UUID, helpful for tracing purposes
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
const sourceChainCbs = {
|
|
222
|
+
successCb: (data: any) => console.log("looks like deposit on the source chain was confirmed by Axelar. data=", JSON.stringify(data)),
|
|
223
|
+
failCb: (data: any) => console.log("sad outcome on the source chain, :-( data=", JSON.stringify(data)),
|
|
224
|
+
}
|
|
225
|
+
const destinationChainCbs = {
|
|
226
|
+
successCb: (data: any) => console.log("good outcome on the destination chain! data=", JSON.stringify(data)),
|
|
227
|
+
failCb: (data: any) => console.log("sad outcome on the destination chain, :-( data=", JSON.stringify(data)),
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return {requestPayload, sourceChainCbs, destinationChainCbs} as const;
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Development
|
|
235
|
+
|
|
236
|
+
If you like, you can get this repo running locally:
|
|
237
|
+
|
|
238
|
+
First, clone this repo on your machine, navigate to its location in the terminal and run:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
git clone git@github.com:axelarnetwork/axelarjs-sdk.git
|
|
242
|
+
npm install
|
|
243
|
+
npm run build
|
|
244
|
+
npm link # link your local repo to your global packages
|
|
245
|
+
npm run dev # build the files and watch for changes
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Start coding!** 🎉
|
|
@@ -7,6 +7,7 @@ export declare class TransferAssetBridge {
|
|
|
7
7
|
constructor(environment: string);
|
|
8
8
|
transferAssets(message: IAssetTransferObject, sourceCbs: ICallbackStatus, destCbs: ICallbackStatus, showAlerts?: boolean): Promise<IAssetInfoWithTrace>;
|
|
9
9
|
private getDepositAddress;
|
|
10
|
-
private
|
|
10
|
+
private confirmDeposit;
|
|
11
|
+
private detectTransferOnDestinationChain;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/TransferAssetBridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AAChH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/TransferAssetBridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AAChH,OAAO,EAIN,eAAe,EAGf,MAA2E,cAAc,CAAC;AAO3F,qBAAa,mBAAmB;IAE/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IASlB,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,eAAe,EACxB,UAAU,GAAE,OAAc,GACnD,OAAO,CAAC,mBAAmB,CAAC;YAqCjB,iBAAiB;YAWjB,cAAc;YAsBd,gCAAgC;CAqB9C"}
|
|
@@ -67,25 +67,24 @@ var TransferAssetBridge = /** @class */ (function () {
|
|
|
67
67
|
this.clientSocketConnect = new SocketServices_1.SocketServices(resourceUrl);
|
|
68
68
|
}
|
|
69
69
|
TransferAssetBridge.prototype.transferAssets = function (message, sourceCbs, destCbs, showAlerts) {
|
|
70
|
-
var _a, _b;
|
|
71
70
|
if (showAlerts === void 0) { showAlerts = true; }
|
|
72
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
-
var depositAddressWithTraceId, traceId,
|
|
72
|
+
var selectedDestinationAsset, sourceChainInfo, destinationChainInfo, depositAddressWithTraceId, traceId, srcAssetForDepositConfirmation, destAssetForTransferEvent;
|
|
74
73
|
var _this = this;
|
|
75
|
-
return __generator(this, function (
|
|
76
|
-
switch (
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
77
76
|
case 0:
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
selectedDestinationAsset = message.selectedDestinationAsset, sourceChainInfo = message.sourceChainInfo, destinationChainInfo = message.destinationChainInfo;
|
|
78
|
+
if (!(0, utils_1.validateDestinationAddress)(destinationChainInfo === null || destinationChainInfo === void 0 ? void 0 : destinationChainInfo.chainSymbol, selectedDestinationAsset))
|
|
79
|
+
throw new Error("invalid destination address in ".concat(selectedDestinationAsset === null || selectedDestinationAsset === void 0 ? void 0 : selectedDestinationAsset.assetSymbol));
|
|
80
80
|
return [4 /*yield*/, this.getDepositAddress(message, showAlerts)];
|
|
81
81
|
case 1:
|
|
82
|
-
depositAddressWithTraceId =
|
|
82
|
+
depositAddressWithTraceId = _a.sent();
|
|
83
83
|
traceId = depositAddressWithTraceId.traceId;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
this.
|
|
87
|
-
_this.
|
|
88
|
-
});
|
|
84
|
+
srcAssetForDepositConfirmation = __assign(__assign({}, (depositAddressWithTraceId.assetInfo)), { traceId: depositAddressWithTraceId.traceId, sourceOrDestChain: "source" });
|
|
85
|
+
destAssetForTransferEvent = __assign(__assign({}, selectedDestinationAsset), { traceId: traceId, sourceOrDestChain: "destination" });
|
|
86
|
+
this.confirmDeposit({ assetInfo: srcAssetForDepositConfirmation, sourceChainInfo: sourceChainInfo, destinationChainInfo: destinationChainInfo }, sourceCbs.successCb, sourceCbs.failCb, "source")
|
|
87
|
+
.then(function () { return _this.detectTransferOnDestinationChain({ assetInfo: destAssetForTransferEvent, sourceChainInfo: sourceChainInfo, destinationChainInfo: destinationChainInfo }, destCbs.successCb, destCbs.failCb, "destination"); });
|
|
89
88
|
return [2 /*return*/, depositAddressWithTraceId];
|
|
90
89
|
}
|
|
91
90
|
});
|
|
@@ -111,18 +110,20 @@ var TransferAssetBridge = /** @class */ (function () {
|
|
|
111
110
|
});
|
|
112
111
|
});
|
|
113
112
|
};
|
|
114
|
-
TransferAssetBridge.prototype.
|
|
113
|
+
TransferAssetBridge.prototype.confirmDeposit = function (assetAndChainInfo, waitCb, errCb, sOrDChain) {
|
|
115
114
|
return __awaiter(this, void 0, void 0, function () {
|
|
116
|
-
var waitingService, e_2;
|
|
115
|
+
var assetInfo, sourceChainInfo, waitingService, e_2;
|
|
117
116
|
return __generator(this, function (_a) {
|
|
118
117
|
switch (_a.label) {
|
|
119
|
-
case 0:
|
|
118
|
+
case 0:
|
|
119
|
+
assetInfo = assetAndChainInfo.assetInfo, sourceChainInfo = assetAndChainInfo.sourceChainInfo;
|
|
120
|
+
return [4 /*yield*/, (0, status_1.default)(sourceChainInfo, assetInfo, sOrDChain, this.environment)];
|
|
120
121
|
case 1:
|
|
121
122
|
waitingService = _a.sent();
|
|
122
123
|
_a.label = 2;
|
|
123
124
|
case 2:
|
|
124
125
|
_a.trys.push([2, 4, , 5]);
|
|
125
|
-
return [4 /*yield*/, waitingService.
|
|
126
|
+
return [4 /*yield*/, waitingService.waitForDepositConfirmation(assetAndChainInfo, waitCb, this.clientSocketConnect)];
|
|
126
127
|
case 3:
|
|
127
128
|
_a.sent();
|
|
128
129
|
return [3 /*break*/, 5];
|
|
@@ -135,6 +136,32 @@ var TransferAssetBridge = /** @class */ (function () {
|
|
|
135
136
|
});
|
|
136
137
|
});
|
|
137
138
|
};
|
|
139
|
+
TransferAssetBridge.prototype.detectTransferOnDestinationChain = function (assetAndChainInfo, waitCb, errCb, sOrDChain) {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
141
|
+
var assetInfo, destinationChainInfo, waitingService, e_3;
|
|
142
|
+
return __generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0:
|
|
145
|
+
assetInfo = assetAndChainInfo.assetInfo, destinationChainInfo = assetAndChainInfo.destinationChainInfo;
|
|
146
|
+
return [4 /*yield*/, (0, status_1.default)(destinationChainInfo, assetInfo, sOrDChain, this.environment)];
|
|
147
|
+
case 1:
|
|
148
|
+
waitingService = _a.sent();
|
|
149
|
+
_a.label = 2;
|
|
150
|
+
case 2:
|
|
151
|
+
_a.trys.push([2, 4, , 5]);
|
|
152
|
+
return [4 /*yield*/, waitingService.waitForTransferEvent(assetAndChainInfo, waitCb, this.clientSocketConnect)];
|
|
153
|
+
case 3:
|
|
154
|
+
_a.sent();
|
|
155
|
+
return [3 /*break*/, 5];
|
|
156
|
+
case 4:
|
|
157
|
+
e_3 = _a.sent();
|
|
158
|
+
errCb(e_3);
|
|
159
|
+
return [3 /*break*/, 5];
|
|
160
|
+
case 5: return [2 /*return*/];
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
};
|
|
138
165
|
return TransferAssetBridge;
|
|
139
166
|
}());
|
|
140
167
|
exports.TransferAssetBridge = TransferAssetBridge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TransferAssetBridge/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAO2F;AAC3F,yDAAuG;AACvG,oDAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TransferAssetBridge/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAO2F;AAC3F,yDAAuG;AACvG,oDAAuF;AACvF,6DAAyG;AACzG,kCAAuF;AACvF,0CAA2F;AAE3F;IAMC,6BAAY,WAAmB;QAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAM,OAAO,GAAwB,IAAA,sBAAU,EAAC,WAAW,CAAC,CAAC;QAC7D,IAAM,WAAW,GAAW,OAAO,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,+BAAc,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAEY,4CAAc,GAA3B,UAA4B,OAA6B,EAC7B,SAA0B,EAC1B,OAAwB,EACxB,UAA0B;QAA1B,2BAAA,EAAA,iBAA0B;;;;;;;wBAG9C,wBAAwB,GAA2C,OAAO,yBAAlD,EAAE,eAAe,GAA0B,OAAO,gBAAjC,EAAE,oBAAoB,GAAI,OAAO,qBAAX,CAAY;wBAElF,IAAI,CAAC,IAAA,kCAA0B,EAAC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,WAAW,EAAE,wBAAwB,CAAC;4BAC3F,MAAM,IAAI,KAAK,CAAC,yCAAkC,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,WAAW,CAAE,CAAC,CAAC;wBAErC,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,EAAA;;wBAAlG,yBAAyB,GAAwB,SAAiD;wBAClG,OAAO,GAAW,yBAAyB,CAAC,OAAO,CAAC;wBAEpD,8BAA8B,yBAChC,CAAC,yBAAyB,CAAC,SAAS,CAAC,KACxC,OAAO,EAAE,yBAAyB,CAAC,OAAO,EAC1C,iBAAiB,EAAE,QAAQ,GAC3B,CAAC;wBACI,yBAAyB,yBAC3B,wBAAwB,KAC3B,OAAO,SAAA,EACP,iBAAiB,EAAE,aAAa,GAChC,CAAC;wBAEF,IAAI,CAAC,cAAc,CAClB,EAAC,SAAS,EAAE,8BAA8B,EAAE,eAAe,iBAAA,EAAE,oBAAoB,sBAAA,EAAC,EAClF,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,MAAM,EAChB,QAAQ,CACR;6BACA,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,gCAAgC,CAChD,EAAC,SAAS,EAAE,yBAAyB,EAAE,eAAe,iBAAA,EAAE,oBAAoB,sBAAA,EAAC,EAC7E,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,EACd,aAAa,CACb,EALW,CAKX,CAAC,CAAA;wBAEF,sBAAO,yBAAyB,EAAC;;;;KACjC;IAEa,+CAAiB,GAA/B,UAAgC,OAA6B,EAAE,UAAmB;;;;;;;wBAEzE,qBAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA8B,EAAE,OAAO,CAAC,EAAA;4BAA5E,sBAAO,SAA4F,EAAC;;;wBAEpG,IAAI,UAAU,KAAI,GAAC,aAAD,GAAC,uBAAD,GAAC,CAAE,OAAO,CAAA,IAAI,CAAC,CAAA,GAAC,aAAD,GAAC,uBAAD,GAAC,CAAE,QAAQ,CAAA,EAAE;4BAC7C,KAAK,CAAC,4EAA4E,GAAG,IAAI,CAAC,SAAS,CAAC,GAAC,CAAC,CAAC,CAAC;yBACxG;wBACD,MAAM,GAAC,CAAC;;;;;KAET;IAEa,4CAAc,GAA5B,UAA6B,iBAAqC,EACrC,MAAsB,EACtB,KAAU,EACV,SAA8B;;;;;;wBAGnD,SAAS,GAAqB,iBAAiB,UAAtC,EAAE,eAAe,GAAI,iBAAiB,gBAArB,CAAsB;wBACL,qBAAM,IAAA,gBAAiB,EACxE,eAAe,EACf,SAAS,EACT,SAAS,EACT,IAAI,CAAC,WAAW,CAChB,EAAA;;wBALK,cAAc,GAA8B,SAKjD;;;;wBAGA,qBAAM,cAAc,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAA;;wBAApG,SAAoG,CAAC;;;;wBAErG,KAAK,CAAC,GAAC,CAAC,CAAC;;;;;;KAGV;IAEa,8DAAgC,GAA9C,UAA+C,iBAAqC,EACrC,MAAsB,EACtB,KAAU,EACV,SAA8B;;;;;;wBAGrE,SAAS,GAA0B,iBAAiB,UAA3C,EAAE,oBAAoB,GAAI,iBAAiB,qBAArB,CAAsB;wBACV,qBAAM,IAAA,gBAAiB,EACxE,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,IAAI,CAAC,WAAW,CAChB,EAAA;;wBALK,cAAc,GAA8B,SAKjD;;;;wBAEA,qBAAM,cAAc,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAA;;wBAA9F,SAA8F,CAAC;;;;wBAE/F,KAAK,CAAC,GAAC,CAAC,CAAC;;;;;;KAGV;IAEF,0BAAC;AAAD,CAAC,AA9GD,IA8GC;AA9GY,kDAAmB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAssetInfo, IBlockchainWaitingService, IChainInfo, SourceOrDestination } from "../../interface";
|
|
2
|
-
declare type IGetWaitingService = (
|
|
2
|
+
declare type IGetWaitingService = (chainInfo: IChainInfo, assetInfo: IAssetInfo, sOrDChain: SourceOrDestination, environment: string) => IBlockchainWaitingService | Promise<IBlockchainWaitingService>;
|
|
3
3
|
declare const getWaitingService: IGetWaitingService;
|
|
4
4
|
export default getWaitingService;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/TransferAssetBridge/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,yBAAyB,EAGzB,UAAU,EACV,mBAAmB,EACnB,MAAuB,iBAAiB,CAAC;AAU1C,aAAK,kBAAkB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/TransferAssetBridge/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,yBAAyB,EAGzB,UAAU,EACV,mBAAmB,EACnB,MAAuB,iBAAiB,CAAC;AAU1C,aAAK,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,MAAM,KAAK,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAClH,QAAA,MAAM,iBAAiB,EAAE,kBAQxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -6,8 +6,9 @@ chains_1.ChainList.forEach(function (chainInfo) {
|
|
|
6
6
|
var chainKey = chainInfo.chainInfo.chainSymbol.toLowerCase();
|
|
7
7
|
waitingServiceMap[chainKey] = chainInfo.waitingService;
|
|
8
8
|
});
|
|
9
|
-
var getWaitingService = function (
|
|
10
|
-
|
|
9
|
+
var getWaitingService = function (chainInfo, assetInfo, sOrDChain, environment) {
|
|
10
|
+
var chainKey = chainInfo.chainSymbol.toLowerCase();
|
|
11
|
+
return waitingServiceMap[chainKey](chainInfo, assetInfo, sOrDChain, environment);
|
|
11
12
|
};
|
|
12
13
|
exports.default = getWaitingService;
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/TransferAssetBridge/status/index.ts"],"names":[],"mappings":";;AAQA,uCAAuC;AAEvC,IAAM,iBAAiB,GAA4D,EAAE,CAAC;AAEtF,kBAAS,CAAC,OAAO,CAAC,UAAC,SAAiB;IACnC,IAAM,QAAQ,GAAW,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACvE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,cAAiD,CAAA;AAC1F,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/TransferAssetBridge/status/index.ts"],"names":[],"mappings":";;AAQA,uCAAuC;AAEvC,IAAM,iBAAiB,GAA4D,EAAE,CAAC;AAEtF,kBAAS,CAAC,OAAO,CAAC,UAAC,SAAiB;IACnC,IAAM,QAAQ,GAAW,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACvE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,cAAiD,CAAA;AAC1F,CAAC,CAAC,CAAC;AAMH,IAAM,iBAAiB,GAAuB,UAC7C,SAAqB,EACrB,SAAqB,EACrB,SAA8B,EAC9B,WAAmB;IAEnB,IAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IACrD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { IAssetInfo } from "../interface";
|
|
2
|
+
export interface IAssetInfoForChain extends IAssetInfo {
|
|
3
|
+
minDepositAmt: number;
|
|
4
|
+
}
|
|
2
5
|
export interface IAssetConfig {
|
|
3
6
|
common_key: string;
|
|
4
7
|
native_chain: string;
|
|
5
8
|
chain_aliases: {
|
|
6
|
-
[key: string]:
|
|
9
|
+
[key: string]: IAssetInfoForChain;
|
|
7
10
|
};
|
|
8
11
|
}
|
|
9
12
|
export declare const allAssets: IAssetConfig[];
|
|
10
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACrD,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAA;CACpD;AA2CD,eAAO,MAAM,SAAS,EAAE,YAAY,EAGnC,CAAC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.allAssets = void 0;
|
|
4
|
+
var luna_terra = {
|
|
5
|
+
common_key: "uluna",
|
|
6
|
+
native_chain: "terra",
|
|
7
|
+
chain_aliases: {
|
|
8
|
+
axelar: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.001 },
|
|
9
|
+
avalanche: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.1 },
|
|
10
|
+
ethereum: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 1 },
|
|
11
|
+
fantom: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.1 },
|
|
12
|
+
moonbeam: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.1 },
|
|
13
|
+
polygon: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.1 },
|
|
14
|
+
terra: { assetSymbol: "LUNA", assetName: "LUNA", minDepositAmt: 0.001 },
|
|
15
|
+
}
|
|
16
|
+
};
|
|
4
17
|
var ust_terra = {
|
|
5
18
|
common_key: "uusd",
|
|
6
19
|
native_chain: "terra",
|
|
@@ -30,4 +43,4 @@ exports.allAssets = [
|
|
|
30
43
|
axl_axelar,
|
|
31
44
|
ust_terra
|
|
32
45
|
];
|
|
33
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":";;;AAYA,IAAM,UAAU,GAAiB;IAChC,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE;QACd,MAAM,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE;QACvE,SAAS,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;QACxE,QAAQ,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;QACrE,MAAM,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;QACrE,QAAQ,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;QACvE,OAAO,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE;QACtE,KAAK,EAAE,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE;KACtE;CACD,CAAA;AAED,IAAM,SAAS,GAAiB;IAC/B,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE;QACd,MAAM,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE;QAC/E,SAAS,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE;QACjF,QAAQ,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE;QACjF,MAAM,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE;QAC9E,QAAQ,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE;QAChF,OAAO,EAAE,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,EAAE;QAC/E,KAAK,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE;KACxE;CACD,CAAA;AAED,IAAM,UAAU,GAAiB;IAChC,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE;QACd,MAAM,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;QACtE,SAAS,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;QACxE,QAAQ,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;QACxE,MAAM,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;QACrE,QAAQ,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;QACvE,OAAO,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;KACtE;CACD,CAAA;AAEY,QAAA,SAAS,GAAmB;IACxC,UAAU;IACV,SAAS;CACT,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IAssetInfo, IBlockchainWaitingService, IChainInfo, StatusResponse } from "../../interface";
|
|
1
|
+
import { IAssetAndChainInfo, IAssetInfo, IBlockchainWaitingService, IChainInfo, StatusResponse } from "../../interface";
|
|
2
2
|
import { BaseWaitingService } from "../models/BaseWaitingService";
|
|
3
3
|
import { SocketServices } from "../../services/SocketServices";
|
|
4
4
|
export default class WaitingService extends BaseWaitingService implements IBlockchainWaitingService {
|
|
5
5
|
constructor(chainInfo: IChainInfo, assetInfo: IAssetInfo);
|
|
6
|
-
|
|
6
|
+
waitForDepositConfirmation(assetAndChainInfo: IAssetAndChainInfo, interimStatusCb: StatusResponse, clientSocketConnect: SocketServices): Promise<any>;
|
|
7
|
+
waitForTransferEvent(assetAndChainInfo: IAssetAndChainInfo, interimStatusCb: StatusResponse, clientSocketConnect: SocketServices): Promise<any>;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=WaitingService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Axelar/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Axelar/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,UAAU,EACV,yBAAyB,EACzB,UAAU,EAEV,cAAc,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,kBAAkB,EAAC,MAA2E,8BAA8B,CAAC;AACrI,OAAO,EAAC,cAAc,EAAC,MAA+E,+BAA+B,CAAC;AAEtI,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAmB,YAAW,yBAAyB;gBAEtF,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAI3C,0BAA0B,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc;IAItI,oBAAoB,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc;CAG7I"}
|
|
@@ -51,27 +51,23 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
var interface_1 = require("../../interface");
|
|
55
54
|
var BaseWaitingService_1 = require("../models/BaseWaitingService");
|
|
56
55
|
var WaitingService = /** @class */ (function (_super) {
|
|
57
56
|
__extends(WaitingService, _super);
|
|
58
57
|
function WaitingService(chainInfo, assetInfo) {
|
|
59
58
|
return _super.call(this, 1, assetInfo.assetAddress) || this;
|
|
60
59
|
}
|
|
61
|
-
WaitingService.prototype.
|
|
60
|
+
WaitingService.prototype.waitForDepositConfirmation = function (assetAndChainInfo, interimStatusCb, clientSocketConnect) {
|
|
62
61
|
return __awaiter(this, void 0, void 0, function () {
|
|
63
|
-
var data;
|
|
64
|
-
var _this = this;
|
|
65
62
|
return __generator(this, function (_a) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
63
|
+
return [2 /*return*/, this.wait(assetAndChainInfo, interimStatusCb, clientSocketConnect)];
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
WaitingService.prototype.waitForTransferEvent = function (assetAndChainInfo, interimStatusCb, clientSocketConnect) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
+
return __generator(this, function (_a) {
|
|
70
|
+
return [2 /*return*/, this.wait(assetAndChainInfo, interimStatusCb, clientSocketConnect)];
|
|
75
71
|
});
|
|
76
72
|
});
|
|
77
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingService.js","sourceRoot":"","sources":["../../../src/chains/Axelar/WaitingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"WaitingService.js","sourceRoot":"","sources":["../../../src/chains/Axelar/WaitingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,mEAAqI;AAGrI;IAA4C,kCAAkB;IAE7D,wBAAY,SAAqB,EAAE,SAAqB;eACvD,kBAAM,CAAC,EAAE,SAAS,CAAC,YAAsB,CAAC;IAC3C,CAAC;IAEY,mDAA0B,GAAvC,UAAwC,iBAAqC,EAAE,eAA+B,EAAE,mBAAmC;;;gBAClJ,sBAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAC;;;KAC1E;IAEY,6CAAoB,GAAjC,UAAkC,iBAAqC,EAAE,eAA+B,EAAE,mBAAmC;;;gBAC5I,sBAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,CAAC,EAAC;;;KAC1E;IACF,qBAAC;AAAD,CAAC,AAbD,CAA4C,uCAAkB,GAa7D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseWaitingService } from "../models/BaseWaitingService";
|
|
2
|
-
import { IAssetInfo, IBlockchainWaitingService, IChainInfo } from "../../interface";
|
|
2
|
+
import { IAssetAndChainInfo, IAssetInfo, IBlockchainWaitingService, IChainInfo } from "../../interface";
|
|
3
|
+
import { SocketServices } from "../../services/SocketServices";
|
|
3
4
|
export interface UnconfirmedTxRef {
|
|
4
5
|
address: string;
|
|
5
6
|
confirmations: number;
|
|
@@ -45,7 +46,7 @@ export declare class WaitingService extends BaseWaitingService implements IBlock
|
|
|
45
46
|
private maxPollingAttempts;
|
|
46
47
|
private pollingInterval;
|
|
47
48
|
constructor(chainInfo: IChainInfo, assetInfo: IAssetInfo);
|
|
48
|
-
wait(
|
|
49
|
+
wait(assetAndChainInfo: IAssetAndChainInfo, interimStatusCb: any, clientSocketConnect: SocketServices): Promise<void>;
|
|
49
50
|
private validate;
|
|
50
51
|
}
|
|
51
52
|
//# sourceMappingURL=WaitingService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Bitcoin/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,
|
|
1
|
+
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Bitcoin/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAyD,8BAA8B,CAAC;AAEnH,OAAO,EAAC,kBAAkB,EAAE,UAAU,EAAE,yBAAyB,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAC,cAAc,EAAC,MAA6D,+BAA+B,CAAC;AAEpH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IACnC,8BAA8B,EAAE,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,CAAC,CAAA;IACnB,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACtC;AAED,oBAAY,cAAc,GAAG,oBAAoB,GAC9C,CAAC,MAAM,IAAI,CAAC,CAAC;AAEhB,oBAAY,oBAAoB,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,GAAG,CAAC;AAEtE,qBAAa,cAAe,SAAQ,kBAAmB,YAAW,yBAAyB;IAE1F,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAK3C,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlI,OAAO,CAAC,QAAQ;CAOhB"}
|
|
@@ -63,13 +63,14 @@ var WaitingService = /** @class */ (function (_super) {
|
|
|
63
63
|
console.log("waiting service constructor");
|
|
64
64
|
return _this;
|
|
65
65
|
}
|
|
66
|
-
WaitingService.prototype.wait = function (
|
|
66
|
+
WaitingService.prototype.wait = function (assetAndChainInfo, interimStatusCb, clientSocketConnect) {
|
|
67
67
|
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
-
var url, asyncRequest;
|
|
68
|
+
var depositAddress, url, asyncRequest;
|
|
69
69
|
var _this = this;
|
|
70
70
|
return __generator(this, function (_a) {
|
|
71
71
|
switch (_a.label) {
|
|
72
72
|
case 0:
|
|
73
|
+
depositAddress = assetAndChainInfo.assetInfo;
|
|
73
74
|
url = "https://api.blockcypher.com/v1/btc/test3/addrs/".concat(depositAddress.assetAddress);
|
|
74
75
|
asyncRequest = function (attempts) { return new Promise(function (res, rej) {
|
|
75
76
|
fetch(url, {
|
|
@@ -93,7 +94,7 @@ var WaitingService = /** @class */ (function (_super) {
|
|
|
93
94
|
})];
|
|
94
95
|
case 1:
|
|
95
96
|
_a.sent();
|
|
96
|
-
return [2 /*return
|
|
97
|
+
return [2 /*return*/];
|
|
97
98
|
}
|
|
98
99
|
});
|
|
99
100
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingService.js","sourceRoot":"","sources":["../../../src/chains/Bitcoin/WaitingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WaitingService.js","sourceRoot":"","sources":["../../../src/chains/Bitcoin/WaitingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAAmH;AACnH,sCAAoG;AAmDpG;IAAoC,kCAAkB;IAKrD,wBAAY,SAAqB,EAAE,SAAqB;QAAxD,YACC,kBAAM,CAAC,EAAE,SAAS,CAAC,YAAsB,CAAC,SAE1C;QANO,wBAAkB,GAAW,CAAC,CAAC;QAC/B,qBAAe,GAAW,MAAM,CAAC;QAIxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;;IAC5C,CAAC;IAEY,6BAAI,GAAjB,UAAkB,iBAAqC,EAAE,eAAoB,EAAE,mBAAmC;;;;;;;wBAC3G,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC;wBAC7C,GAAG,GAAG,yDAAkD,cAAc,CAAC,YAAY,CAAE,CAAC;wBACtF,YAAY,GAAG,UAAC,QAAgB,IAAK,OAAA,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;4BAC/D,KAAK,CAAC,GAAG,EAAE;gCACV,OAAO,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC;6BAC1B,CAAC;iCACD,IAAI,CAAC,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAE,EAAf,CAAe,CAAC;iCACxC,IAAI,CAAC,UAAC,IAAyB;gCAC/B,IAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,gBAAgB,CAAC;gCAC5D,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;gCACzC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACX,CAAC,CAAC;iCACD,KAAK,CAAC,UAAC,GAAQ;gCACf,GAAG,CAAC,GAAG,CAAC,CAAC;4BACV,CAAC,CAAC,CAAA;wBACH,CAAC,CAAC,EAbyC,CAazC,CAAC;wBAEH,qBAAM,IAAA,WAAI,EAAC;gCACV,YAAY,cAAA;gCACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gCAClC,QAAQ,EAAE,IAAI,CAAC,eAAe;gCAC9B,WAAW,EAAE,IAAI,CAAC,kBAAkB;6BACpC,CAAC,EAAA;;wBALF,SAKE,CAAC;;;;;KACH;IAEO,iCAAQ,GAAhB,UAAiB,GAAwB;;QACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB;eAC1B,CAAC,CAAA,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM,IAAG,CAAC;mBACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,CACvD,CAAC;IACJ,CAAC;IAEF,qBAAC;AAAD,CAAC,AA3CD,CAAoC,uCAAkB,GA2CrD;AA3CY,wCAAc"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { IAssetInfo, IBlockchainWaitingService, IChainInfo, StatusResponse } from "../../interface";
|
|
1
|
+
import { IAssetAndChainInfo, IAssetInfo, IBlockchainWaitingService, IChainInfo, StatusResponse } from "../../interface";
|
|
2
2
|
import { BaseWaitingService } from "../models/BaseWaitingService";
|
|
3
3
|
import { SocketServices } from "../../services/SocketServices";
|
|
4
|
+
import { ProviderType } from "../../utils/EthersJs/ethersjsProvider";
|
|
4
5
|
export default class WaitingService extends BaseWaitingService implements IBlockchainWaitingService {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
environment: string;
|
|
7
|
+
providerType: ProviderType;
|
|
8
|
+
constructor(chainInfo: IChainInfo, assetInfo: IAssetInfo, environment: string, providerType: ProviderType);
|
|
9
|
+
waitForDepositConfirmation(assetAndChainInfo: IAssetAndChainInfo, interimStatusCb: StatusResponse, clientSocketConnect: SocketServices): Promise<any>;
|
|
10
|
+
waitForTransferEvent(assetAndChainInfo: IAssetAndChainInfo, interimStatusCb: StatusResponse, clientSocketConnect: SocketServices): Promise<void>;
|
|
7
11
|
}
|
|
8
12
|
//# sourceMappingURL=WaitingService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Ethereum/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WaitingService.d.ts","sourceRoot":"","sources":["../../../src/chains/Ethereum/WaitingService.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,UAAU,EACV,yBAAyB,EACzB,UAAU,EAEV,cAAc,EACd,MAAkC,iBAAiB,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAQ,8BAA8B,CAAC;AAClE,OAAO,EAAC,cAAc,EAAC,MAAY,+BAA+B,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAc,uCAAuC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,kBAAmB,YAAW,yBAAyB;IAE3F,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;gBAEtB,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAM5F,0BAA0B,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc;IAItI,oBAAoB,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc;CAU7I"}
|