@cityofzion/bs-neo3 1.3.2 → 1.3.3
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.
|
@@ -23,9 +23,10 @@ _a = FlamingoSwapInvocationBuilderNeo3, _FlamingoSwapInvocationBuilderNeo3_build
|
|
|
23
23
|
const [tokenToUse] = routePath;
|
|
24
24
|
const tokenToReceive = routePath[routePath.length - 1];
|
|
25
25
|
const scriptHashes = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapScriptHashes(network);
|
|
26
|
-
const tokenToReceiveOverrode = FlamingoSwapHelper_1.FlamingoSwapHelper.overrideToken(network, tokenToReceive);
|
|
27
26
|
const invocations = [];
|
|
28
|
-
const allowedContracts =
|
|
27
|
+
const allowedContracts = [];
|
|
28
|
+
const tokenToReceiveOverrode = FlamingoSwapHelper_1.FlamingoSwapHelper.overrideToken(network, tokenToReceive);
|
|
29
|
+
const routePathOverrode = FlamingoSwapHelper_1.FlamingoSwapHelper.overrideRoutePath(network, routePath);
|
|
29
30
|
const amountToReceiveFormatted = FlamingoSwapHelper_1.FlamingoSwapHelper.formatAmount(amountToReceive, tokenToReceiveOverrode.decimals);
|
|
30
31
|
const maximumSellingFormatted = FlamingoSwapHelper_1.FlamingoSwapHelper.formatAmount(maximumSelling, tokenToUse.decimals);
|
|
31
32
|
const swapInvocation = NeonDappKitInvocationBuilderNeo3_1.NeonDappKitInvocationBuilderNeo3.swapTokenOutForTokenInContractInvocation({
|
|
@@ -34,13 +35,16 @@ _a = FlamingoSwapInvocationBuilderNeo3, _FlamingoSwapInvocationBuilderNeo3_build
|
|
|
34
35
|
amountToReceive: amountToReceiveFormatted,
|
|
35
36
|
maximumSelling: maximumSellingFormatted,
|
|
36
37
|
deadline,
|
|
37
|
-
args: __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_mapRoutePathToArgs).call(this,
|
|
38
|
+
args: __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_mapRoutePathToArgs).call(this, routePathOverrode),
|
|
38
39
|
});
|
|
39
40
|
invocations.push(swapInvocation);
|
|
41
|
+
allowedContracts.push(...__classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_getAllowedContracts).call(this, scriptHashes, routePath));
|
|
40
42
|
if (FlamingoSwapHelper_1.FlamingoSwapHelper.isNeoToken(network, tokenToReceive)) {
|
|
41
43
|
const amountToReceiveTransfer = neon_core_1.u.BigInteger.fromNumber(Number(amountToReceiveFormatted) * FlamingoSwapConstants_1.FlamingoSwapConstants.GAS_PER_NEO).toString();
|
|
42
|
-
const
|
|
44
|
+
const gasHash = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapToken(network, 'GAS').hash;
|
|
45
|
+
const neoTransferInvocation = __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation).call(this, address, gasHash, amountToReceiveTransfer, network);
|
|
43
46
|
invocations.push(neoTransferInvocation);
|
|
47
|
+
allowedContracts.push(FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapPool(network, 'FLP-bNEO-GAS').hash);
|
|
44
48
|
}
|
|
45
49
|
return {
|
|
46
50
|
invocations,
|
|
@@ -51,12 +55,16 @@ _a = FlamingoSwapInvocationBuilderNeo3, _FlamingoSwapInvocationBuilderNeo3_build
|
|
|
51
55
|
const tokenToReceive = routePath[routePath.length - 1];
|
|
52
56
|
const scriptHashes = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapScriptHashes(network);
|
|
53
57
|
const invocations = [];
|
|
54
|
-
const allowedContracts =
|
|
58
|
+
const allowedContracts = [];
|
|
55
59
|
if (FlamingoSwapHelper_1.FlamingoSwapHelper.isNeoToken(network, tokenToUse)) {
|
|
56
|
-
const
|
|
60
|
+
const neoHash = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapToken(network, 'NEO').hash;
|
|
61
|
+
const neoTransferInvocation = __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation).call(this, address, neoHash, amountToUse, network);
|
|
57
62
|
invocations.push(neoTransferInvocation);
|
|
63
|
+
allowedContracts.push(FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapPool(network, 'FLP-bNEO-GAS').hash);
|
|
58
64
|
}
|
|
59
|
-
const
|
|
65
|
+
const tokenToUseOverrode = FlamingoSwapHelper_1.FlamingoSwapHelper.overrideToken(network, tokenToUse);
|
|
66
|
+
const routePathOverrode = FlamingoSwapHelper_1.FlamingoSwapHelper.overrideRoutePath(network, routePath);
|
|
67
|
+
const amountToUseFormatted = FlamingoSwapHelper_1.FlamingoSwapHelper.formatAmount(amountToUse, tokenToUseOverrode.decimals);
|
|
60
68
|
const minimumReceivedFormatted = FlamingoSwapHelper_1.FlamingoSwapHelper.formatAmount(minimumReceived, tokenToReceive.decimals);
|
|
61
69
|
const swapInvocation = NeonDappKitInvocationBuilderNeo3_1.NeonDappKitInvocationBuilderNeo3.swapTokenInForTokenOutContractInvocation({
|
|
62
70
|
routerScriptHash: scriptHashes.flamingoSwapRouter,
|
|
@@ -64,9 +72,10 @@ _a = FlamingoSwapInvocationBuilderNeo3, _FlamingoSwapInvocationBuilderNeo3_build
|
|
|
64
72
|
minimumReceived: minimumReceivedFormatted,
|
|
65
73
|
senderAddress: address,
|
|
66
74
|
deadline,
|
|
67
|
-
args: __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_mapRoutePathToArgs).call(this,
|
|
75
|
+
args: __classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_mapRoutePathToArgs).call(this, routePathOverrode),
|
|
68
76
|
});
|
|
69
77
|
invocations.push(swapInvocation);
|
|
78
|
+
allowedContracts.push(...__classPrivateFieldGet(this, _a, "m", _FlamingoSwapInvocationBuilderNeo3_getAllowedContracts).call(this, scriptHashes, routePath));
|
|
70
79
|
return {
|
|
71
80
|
invocations,
|
|
72
81
|
signers: [{ scopes: neon_core_1.tx.WitnessScope.CustomContracts, allowedContracts }],
|
|
@@ -83,13 +92,12 @@ _a = FlamingoSwapInvocationBuilderNeo3, _FlamingoSwapInvocationBuilderNeo3_build
|
|
|
83
92
|
scriptHashes.flamingoPairWhiteList,
|
|
84
93
|
...routePath.map(token => token.hash),
|
|
85
94
|
];
|
|
86
|
-
}, _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation = function _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation(
|
|
95
|
+
}, _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation = function _FlamingoSwapInvocationBuilderNeo3_buildNEOTransferInvocation(senderAddress, contractHash, amount, network) {
|
|
87
96
|
const bNEO = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapToken(network, 'bNEO');
|
|
88
|
-
const GAS = FlamingoSwapHelper_1.FlamingoSwapHelper.getFlamingoSwapToken(network, 'GAS');
|
|
89
97
|
return NeonDappKitInvocationBuilderNeo3_1.NeonDappKitInvocationBuilderNeo3.transferContractInvocation({
|
|
90
|
-
|
|
91
|
-
amount,
|
|
98
|
+
contractHash,
|
|
92
99
|
tokenHash: bNEO.hash,
|
|
93
|
-
|
|
100
|
+
senderAddress,
|
|
101
|
+
amount,
|
|
94
102
|
});
|
|
95
103
|
};
|
|
@@ -14,6 +14,7 @@ export declare class FlamingoSwapHelper {
|
|
|
14
14
|
static overrideAmountInput(network: Network<BSNeo3NetworkId>, amount: string, token: Token): BigNumber;
|
|
15
15
|
static overrideAmountToDisplay(network: Network<BSNeo3NetworkId>, amount: string, token: Token): string;
|
|
16
16
|
static overrideRoute(network: Network<BSNeo3NetworkId>, route: SwapRoute[]): SwapRoute[];
|
|
17
|
+
static overrideRoutePath(network: Network<BSNeo3NetworkId>, routePath: Token[]): Token[];
|
|
17
18
|
static normalizeHash(hash: string): string;
|
|
18
19
|
static isNeoToken(network: Network<BSNeo3NetworkId>, token: Token): boolean;
|
|
19
20
|
static formatAmount(amount: string, decimals: number): string;
|
|
@@ -74,6 +74,10 @@ class FlamingoSwapHelper {
|
|
|
74
74
|
}
|
|
75
75
|
return overrodeRoute;
|
|
76
76
|
}
|
|
77
|
+
static overrideRoutePath(network, routePath) {
|
|
78
|
+
const overrodeRoutePath = routePath.map(token => this.overrideToken(network, token));
|
|
79
|
+
return overrodeRoutePath.filter((item, index, arr) => arr.indexOf(item) === index);
|
|
80
|
+
}
|
|
77
81
|
static normalizeHash(hash) {
|
|
78
82
|
return hash.startsWith('0x') ? hash.slice(2) : hash;
|
|
79
83
|
}
|