@vultisig/core-mpc 1.13.0 → 1.14.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.
- package/CHANGELOG.md +138 -0
- package/dist/chains/cosmos/qbtc/QBTCHelper.js +4 -3
- package/dist/chains/cosmos/qbtc/QBTCHelper.js.map +1 -1
- package/dist/chains/cosmos/qbtc/QBTCTx.js +1 -1
- package/dist/chains/cosmos/qbtc/QBTCTx.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/cosmos/index.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/cosmos/index.js +71 -10
- package/dist/keysign/chainSpecific/resolvers/cosmos/index.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/index.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/index.js +62 -64
- package/dist/keysign/chainSpecific/resolvers/sui/index.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/refine.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/refine.js +14 -4
- package/dist/keysign/chainSpecific/resolvers/sui/refine.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/tron/energyPrice.d.ts +4 -3
- package/dist/keysign/chainSpecific/resolvers/tron/energyPrice.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/tron/energyPrice.js +11 -5
- package/dist/keysign/chainSpecific/resolvers/tron/energyPrice.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/tron/fee.d.ts +11 -0
- package/dist/keysign/chainSpecific/resolvers/tron/fee.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/tron/fee.js +43 -19
- package/dist/keysign/chainSpecific/resolvers/tron/fee.js.map +1 -1
- package/dist/keysign/fee/resolvers/cosmos.d.ts +5 -3
- package/dist/keysign/fee/resolvers/cosmos.d.ts.map +1 -1
- package/dist/keysign/fee/resolvers/cosmos.js +8 -21
- package/dist/keysign/fee/resolvers/cosmos.js.map +1 -1
- package/dist/keysign/fee/resolvers/tron.d.ts.map +1 -1
- package/dist/keysign/fee/resolvers/tron.js +11 -2
- package/dist/keysign/fee/resolvers/tron.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cosmos/index.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cosmos/index.js +24 -15
- package/dist/keysign/signingInputs/resolvers/cosmos/index.js.map +1 -1
- package/dist/keysign/swap/buildLimitSwapKeysignPayload.d.ts +22 -6
- package/dist/keysign/swap/buildLimitSwapKeysignPayload.d.ts.map +1 -1
- package/dist/keysign/swap/buildLimitSwapKeysignPayload.js +22 -4
- package/dist/keysign/swap/buildLimitSwapKeysignPayload.js.map +1 -1
- package/dist/keysign/swap/getKeysignLimitSwapOrder.d.ts +41 -0
- package/dist/keysign/swap/getKeysignLimitSwapOrder.d.ts.map +1 -0
- package/dist/keysign/swap/getKeysignLimitSwapOrder.js +50 -0
- package/dist/keysign/swap/getKeysignLimitSwapOrder.js.map +1 -0
- package/package.json +9 -4
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns the current energy price in sun/energy from Tron chain params.
|
|
3
|
-
* Successful fetches cached for 5 min. Falls back to
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Successful fetches cached for 5 min. Falls back to 100 sun/energy (live
|
|
4
|
+
* TronGrid getEnergyFee value) if the endpoint is unreachable or its response
|
|
5
|
+
* omits a valid positive getEnergyFee parameter. Network errors are never
|
|
6
|
+
* cached, so recovery is immediate once TronGrid comes back.
|
|
6
7
|
*/
|
|
7
8
|
export declare const getEnergyPrice: () => Promise<bigint>;
|
|
8
9
|
//# sourceMappingURL=energyPrice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyPrice.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/energyPrice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"energyPrice.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/energyPrice.ts"],"names":[],"mappings":"AA2CA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,MAAM,CAMrD,CAAA"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { memoizeAsync } from '@vultisig/lib-utils/memoizeAsync';
|
|
2
2
|
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
3
|
-
|
|
3
|
+
// Live-verified via `curl -sX POST https://api.trongrid.io/wallet/getchainparameters`
|
|
4
|
+
// (getEnergyFee=100 as of 2026-07-21). Used when TronGrid is unreachable or
|
|
5
|
+
// returns a missing/invalid getEnergyFee parameter.
|
|
6
|
+
const FALLBACK_ENERGY_PRICE = 100n;
|
|
4
7
|
const CHAIN_PARAMS_URL = 'https://api.trongrid.io/wallet/getchainparameters';
|
|
5
8
|
// 5 min TTL - governance proposals that change energy price are extremely
|
|
6
9
|
// rare (last change was 2023) so this trades one RPC call per 5 min window
|
|
@@ -18,12 +21,15 @@ const fetchEnergyPriceRaw = async () => {
|
|
|
18
21
|
};
|
|
19
22
|
// Only successful fetches are memoized. Errors bubble up so the catch below
|
|
20
23
|
// never caches the fallback as if it were a real price (fixes error-caching bug).
|
|
21
|
-
const memoizedFetchEnergyPrice = memoizeAsync(fetchEnergyPriceRaw, {
|
|
24
|
+
const memoizedFetchEnergyPrice = memoizeAsync(fetchEnergyPriceRaw, {
|
|
25
|
+
cacheTime: CACHE_TTL_MS,
|
|
26
|
+
});
|
|
22
27
|
/**
|
|
23
28
|
* Returns the current energy price in sun/energy from Tron chain params.
|
|
24
|
-
* Successful fetches cached for 5 min. Falls back to
|
|
25
|
-
*
|
|
26
|
-
*
|
|
29
|
+
* Successful fetches cached for 5 min. Falls back to 100 sun/energy (live
|
|
30
|
+
* TronGrid getEnergyFee value) if the endpoint is unreachable or its response
|
|
31
|
+
* omits a valid positive getEnergyFee parameter. Network errors are never
|
|
32
|
+
* cached, so recovery is immediate once TronGrid comes back.
|
|
27
33
|
*/
|
|
28
34
|
export const getEnergyPrice = async () => {
|
|
29
35
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyPrice.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/energyPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAElC,MAAM,gBAAgB,GAAG,mDAAmD,CAAA;AAE5E,0EAA0E;AAC1E,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAWlC,MAAM,mBAAmB,GAAG,KAAK,IAAqB,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAA6B,gBAAgB,EAAE;QACxE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,CAAA;IACtE,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,4EAA4E;AAC5E,kFAAkF;AAClF,MAAM,wBAAwB,GAAG,YAAY,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"energyPrice.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/energyPrice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAE7D,sFAAsF;AACtF,4EAA4E;AAC5E,oDAAoD;AACpD,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAElC,MAAM,gBAAgB,GAAG,mDAAmD,CAAA;AAE5E,0EAA0E;AAC1E,2EAA2E;AAC3E,kEAAkE;AAClE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAWlC,MAAM,mBAAmB,GAAG,KAAK,IAAqB,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAA6B,gBAAgB,EAAE;QACxE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;KACxC,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,CAAA;IACtE,IAAI,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,4EAA4E;AAC5E,kFAAkF;AAClF,MAAM,wBAAwB,GAAG,YAAY,CAAC,mBAAmB,EAAE;IACjE,SAAS,EAAE,YAAY;CACxB,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;IACxD,IAAI,CAAC;QACH,OAAO,MAAM,wBAAwB,EAAE,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,qBAAqB,CAAA;IAC9B,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -4,6 +4,17 @@ type GetTrc20TransferFeeInput = {
|
|
|
4
4
|
amount: bigint;
|
|
5
5
|
receiver: string;
|
|
6
6
|
};
|
|
7
|
+
type GetTrc20TransferFeeAmountInput = {
|
|
8
|
+
feeLimit: bigint;
|
|
9
|
+
fromAddress: string;
|
|
10
|
+
};
|
|
7
11
|
export declare const getTrc20TransferFee: ({ coin, receiver, amount }: GetTrc20TransferFeeInput) => Promise<bigint>;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the expected TRX burn for display/max-send, separately from the
|
|
14
|
+
* serialized feeLimit ceiling. When the ceiling is capped, return the cap as a
|
|
15
|
+
* conservative estimate because the original uncapped simulation cost cannot
|
|
16
|
+
* be recovered from the protobuf value.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getTrc20TransferFeeAmount: ({ feeLimit, fromAddress, }: GetTrc20TransferFeeAmountInput) => Promise<bigint>;
|
|
8
19
|
export {};
|
|
9
20
|
//# sourceMappingURL=fee.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/fee.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/fee.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAatE,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,8BAA8B,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAoBD,eAAO,MAAM,mBAAmB,GAAU,4BAA4B,wBAAwB,KAAG,OAAO,CAAC,MAAM,CAqD9G,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GAAU,4BAG7C,8BAA8B,KAAG,OAAO,CAAC,MAAM,CAuBjD,CAAA"}
|
|
@@ -3,6 +3,8 @@ import { getTronAccountResources } from '@vultisig/core-chain/chains/tron/resour
|
|
|
3
3
|
import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
|
|
4
4
|
import base58 from 'bs58';
|
|
5
5
|
import { getEnergyPrice } from './energyPrice.js';
|
|
6
|
+
const FEE_LIMIT_MARGIN_BPS = 5000n; // +50%
|
|
7
|
+
const FEE_LIMIT_CAP_SUN = 100000000n; // 100 TRX
|
|
6
8
|
function base58ToHex(address) {
|
|
7
9
|
const decoded = base58.decode(address);
|
|
8
10
|
const addressBytes = decoded.slice(0, -4);
|
|
@@ -33,37 +35,59 @@ export const getTrc20TransferFee = async ({ coin, receiver, amount }) => {
|
|
|
33
35
|
visible: true,
|
|
34
36
|
},
|
|
35
37
|
});
|
|
38
|
+
// triggerconstantcontract can return a 200 with an empty/malformed body or a
|
|
39
|
+
// reverted simulation without surfacing an HTTP error. Live revert responses
|
|
40
|
+
// may even carry result.result=true alongside a REVERT message, so treat any
|
|
41
|
+
// code/message as a failed estimate too. Trusting energy_used=0 in those cases
|
|
42
|
+
// silently produces feeLimit=0 downstream, which guarantees OUT_OF_ENERGY at
|
|
43
|
+
// broadcast.
|
|
44
|
+
const result = responseData.result;
|
|
45
|
+
if (!result || result.result !== true || result.code || result.message) {
|
|
46
|
+
const reason = result?.message || result?.code || 'empty or malformed response (possible TronGrid indexing lag)';
|
|
47
|
+
throw new Error(`[tron] triggerconstantcontract did not return a successful estimate: ${reason}`);
|
|
48
|
+
}
|
|
36
49
|
const energyUsed = responseData.energy_used ?? 0;
|
|
37
50
|
const energyPenalty = responseData.energy_penalty ?? 0;
|
|
38
51
|
const totalEnergy = BigInt(energyUsed) + BigInt(energyPenalty);
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
// protobuf feeLimit field via `Long.fromString(gasEstimation.toString())`.
|
|
42
|
-
// TronGrid rejects negative feeLimit at broadcast. Send-service path has a
|
|
43
|
-
// similar guard at sdk/src/chains/tron/tx.ts:391; mirror it here for the MPC
|
|
44
|
-
// keysign path. Returning 0 lets the upstream estimator pick a sane default.
|
|
52
|
+
// A successful TRC-20 simulation must consume energy. Fail closed rather than
|
|
53
|
+
// letting a non-positive estimate become a zero/negative protobuf feeLimit.
|
|
45
54
|
if (totalEnergy <= 0n) {
|
|
55
|
+
throw new Error('[tron] triggerconstantcontract returned a non-positive energy estimate');
|
|
56
|
+
}
|
|
57
|
+
const energyPrice = await getEnergyPrice();
|
|
58
|
+
const totalSun = totalEnergy * energyPrice;
|
|
59
|
+
// feeLimit is a spending CEILING, not an expected cost. Base it on the full
|
|
60
|
+
// simulation before staked-energy subtraction so concurrent energy use during
|
|
61
|
+
// the 10-60s MPC ceremony cannot reduce it to zero. Cap pathological estimates
|
|
62
|
+
// at the typical 100 TRX limit documented by the send service.
|
|
63
|
+
const withMargin = totalSun + (totalSun * FEE_LIMIT_MARGIN_BPS) / 10000n;
|
|
64
|
+
return withMargin > FEE_LIMIT_CAP_SUN ? FEE_LIMIT_CAP_SUN : withMargin;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Returns the expected TRX burn for display/max-send, separately from the
|
|
68
|
+
* serialized feeLimit ceiling. When the ceiling is capped, return the cap as a
|
|
69
|
+
* conservative estimate because the original uncapped simulation cost cannot
|
|
70
|
+
* be recovered from the protobuf value.
|
|
71
|
+
*/
|
|
72
|
+
export const getTrc20TransferFeeAmount = async ({ feeLimit, fromAddress, }) => {
|
|
73
|
+
if (feeLimit <= 0n) {
|
|
46
74
|
return 0n;
|
|
47
75
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
let energyToBurn = totalEnergy;
|
|
76
|
+
const fullBurnEstimate = feeLimit >= FEE_LIMIT_CAP_SUN
|
|
77
|
+
? FEE_LIMIT_CAP_SUN
|
|
78
|
+
: (feeLimit * 10000n + (10000n + FEE_LIMIT_MARGIN_BPS - 1n)) / (10000n + FEE_LIMIT_MARGIN_BPS);
|
|
52
79
|
try {
|
|
53
|
-
const resources = await getTronAccountResources(
|
|
80
|
+
const [resources, energyPrice] = await Promise.all([getTronAccountResources(fromAddress), getEnergyPrice()]);
|
|
54
81
|
const availableEnergy = BigInt(resources.energy.available);
|
|
55
|
-
if (availableEnergy
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
else if (availableEnergy > 0n) {
|
|
59
|
-
energyToBurn = totalEnergy - availableEnergy;
|
|
82
|
+
if (availableEnergy <= 0n) {
|
|
83
|
+
return fullBurnEstimate;
|
|
60
84
|
}
|
|
85
|
+
const coveredSun = availableEnergy * energyPrice;
|
|
86
|
+
return coveredSun >= fullBurnEstimate ? 0n : fullBurnEstimate - coveredSun;
|
|
61
87
|
}
|
|
62
88
|
catch (err) {
|
|
63
89
|
console.warn('[tron] failed to fetch account energy resources, falling back to worst-case fee', err);
|
|
90
|
+
return fullBurnEstimate;
|
|
64
91
|
}
|
|
65
|
-
const energyPrice = await getEnergyPrice();
|
|
66
|
-
const totalSun = energyToBurn * energyPrice;
|
|
67
|
-
return totalSun;
|
|
68
92
|
};
|
|
69
93
|
//# sourceMappingURL=fee.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAA;AAC5G,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAC7D,OAAO,MAAM,MAAM,MAAM,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/tron/fee.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,11 @@ import { FeeAmountResolver } from '../resolver.js';
|
|
|
6
6
|
* `CosmosSpecific.gas` at keysign-payload build time, so every consumer —
|
|
7
7
|
* including this resolver — agrees on what the chain will charge.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Fee row
|
|
9
|
+
* `CosmosSpecific.gas` is the fee AMOUNT (proto field 3) and is returned
|
|
10
|
+
* verbatim — exactly what the signing-inputs resolver puts in the SignDoc, so
|
|
11
|
+
* the Network Fee row can never drift from what gets signed. A relayed
|
|
12
|
+
* `gas_limit` (field 7) changes the signed gas limit, not the amount; the
|
|
13
|
+
* initiator has already priced `gas` against it.
|
|
12
14
|
*/
|
|
13
15
|
export declare const getCosmosFeeAmount: FeeAmountResolver;
|
|
14
16
|
//# sourceMappingURL=cosmos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/cosmos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/cosmos.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAShC,CAAA"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { resolveCosmosGasFee } from '@vultisig/core-chain/chains/cosmos/resolveCosmosGasFee';
|
|
3
|
-
import { TransactionType } from '@vultisig/core-mpc/types/vultisig/keysign/v1/blockchain_specific_pb';
|
|
1
|
+
import { MAYA_SEND_FEE_BASE_UNITS } from '@vultisig/core-chain/chains/cosmos/gas';
|
|
4
2
|
import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
|
|
5
3
|
import { getCosmosChainSpecific } from '../../signingInputs/resolvers/cosmos/chainSpecific.js';
|
|
6
4
|
import { getKeysignChain } from '../../utils/getKeysignChain.js';
|
|
7
|
-
import { getKeysignCoin } from '../../utils/getKeysignCoin.js';
|
|
8
|
-
const mayaGas = 2000000000n;
|
|
9
5
|
/**
|
|
10
6
|
* Reads the cosmos fee from `blockchainSpecific`. Initiators are responsible
|
|
11
7
|
* for writing the canonical fee (e.g. the dapp-supplied value when signing
|
|
@@ -13,27 +9,18 @@ const mayaGas = 2000000000n;
|
|
|
13
9
|
* `CosmosSpecific.gas` at keysign-payload build time, so every consumer —
|
|
14
10
|
* including this resolver — agrees on what the chain will charge.
|
|
15
11
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* Fee row
|
|
12
|
+
* `CosmosSpecific.gas` is the fee AMOUNT (proto field 3) and is returned
|
|
13
|
+
* verbatim — exactly what the signing-inputs resolver puts in the SignDoc, so
|
|
14
|
+
* the Network Fee row can never drift from what gets signed. A relayed
|
|
15
|
+
* `gas_limit` (field 7) changes the signed gas limit, not the amount; the
|
|
16
|
+
* initiator has already priced `gas` against it.
|
|
19
17
|
*/
|
|
20
18
|
export const getCosmosFeeAmount = ({ keysignPayload }) => {
|
|
21
19
|
const chain = getKeysignChain(keysignPayload);
|
|
22
20
|
const chainSpecific = getCosmosChainSpecific(chain, keysignPayload.blockchainSpecific);
|
|
23
21
|
return matchRecordUnion(chainSpecific, {
|
|
24
|
-
ibcEnabled: ({ gas
|
|
25
|
-
|
|
26
|
-
const { feeAmount } = resolveCosmosGasFee({
|
|
27
|
-
gas,
|
|
28
|
-
relayedGasLimit: gasLimit,
|
|
29
|
-
staticGasLimit: getCosmosGasLimit(coin),
|
|
30
|
-
// COSMOS-02: mirror the signing-inputs resolver's IBC gas multiplier
|
|
31
|
-
// so the displayed Network Fee never drifts from what gets signed.
|
|
32
|
-
isIbcTransfer: transactionType === TransactionType.IBC_TRANSFER,
|
|
33
|
-
});
|
|
34
|
-
return feeAmount;
|
|
35
|
-
},
|
|
36
|
-
vaultBased: value => ('fee' in value ? value.fee : mayaGas),
|
|
22
|
+
ibcEnabled: ({ gas }) => gas,
|
|
23
|
+
vaultBased: value => ('fee' in value ? value.fee : MAYA_SEND_FEE_BASE_UNITS),
|
|
37
24
|
});
|
|
38
25
|
};
|
|
39
26
|
//# sourceMappingURL=cosmos.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/cosmos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAA;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,eAAe,CAAW,cAAc,CAAC,CAAA;IAEvD,MAAM,aAAa,GAAG,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAA;IAEtF,OAAO,gBAAgB,CAAC,aAAa,EAAE;QACrC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG;QAC5B,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC;KAC7E,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/tron.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/tron.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,eAAO,MAAM,gBAAgB,EAAE,iBAY9B,CAAA"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
|
|
1
2
|
import { getBlockchainSpecificValue } from '../../chainSpecific/KeysignChainSpecific.js';
|
|
2
|
-
|
|
3
|
+
import { getTrc20TransferFeeAmount } from '../../chainSpecific/resolvers/tron/fee.js';
|
|
4
|
+
export const getTronFeeAmount = async ({ keysignPayload }) => {
|
|
3
5
|
const { gasEstimation } = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'tronSpecific');
|
|
4
|
-
|
|
6
|
+
const coin = shouldBePresent(keysignPayload.coin);
|
|
7
|
+
if (coin.isNativeToken) {
|
|
8
|
+
return gasEstimation;
|
|
9
|
+
}
|
|
10
|
+
return getTrc20TransferFeeAmount({
|
|
11
|
+
feeLimit: gasEstimation,
|
|
12
|
+
fromAddress: coin.address,
|
|
13
|
+
});
|
|
5
14
|
};
|
|
6
15
|
//# sourceMappingURL=tron.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/fee/resolvers/tron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAGlF,MAAM,CAAC,MAAM,gBAAgB,GAAsB,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;IAC9E,MAAM,EAAE,aAAa,EAAE,GAAG,0BAA0B,CAAC,cAAc,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;IACvG,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAEjD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,yBAAyB,CAAC;QAC/B,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,IAAI,CAAC,OAAO;KAC1B,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cosmos/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cosmos/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAwFtD,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CAAC,QAAQ,CAmdlE,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Chain } from '@vultisig/core-chain/Chain';
|
|
2
2
|
import { cosmosFeeCoinDenom } from '@vultisig/core-chain/chains/cosmos/cosmosFeeCoinDenom';
|
|
3
3
|
import { getCosmosGasLimit } from '@vultisig/core-chain/chains/cosmos/cosmosGasLimitRecord';
|
|
4
|
-
import {
|
|
4
|
+
import { resolveCosmosGasLimit } from '@vultisig/core-chain/chains/cosmos/resolveCosmosGasLimit';
|
|
5
5
|
import { getCosmosChainKind } from '@vultisig/core-chain/chains/cosmos/utils/getCosmosChainKind';
|
|
6
6
|
import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
|
|
7
7
|
import { areEqualCoins } from '@vultisig/core-chain/coin/Coin';
|
|
@@ -33,7 +33,20 @@ const getThorchainDepositAsset = ({ assetCoin, chain, secured, }) => {
|
|
|
33
33
|
const chainId = nativeSwapChainIds[assetCoin.chain] ??
|
|
34
34
|
nativeSwapChainIds[chain];
|
|
35
35
|
const { contractAddress } = assetCoin;
|
|
36
|
-
|
|
36
|
+
// The `TICKER-CONTRACT` symbol form belongs to secured-asset withdrawals only,
|
|
37
|
+
// where `assetCoin` is the L1 coin being pulled off THORChain and
|
|
38
|
+
// `contractAddress` is its L1 token contract (`USDC` + `0xa0b8…` ->
|
|
39
|
+
// `USDC-0XA0B8…`, matching THORNode's `ETH.USDC-0XA0B8…`).
|
|
40
|
+
//
|
|
41
|
+
// For a plain swap the contract address is the THORChain bank denom
|
|
42
|
+
// (`tcy`, `x/ruji`), and appending it produced `TCY-tcy` — an asset THORNode
|
|
43
|
+
// has no pool for, and a pre-image hash that no longer matched the one iOS
|
|
44
|
+
// (`thorchain.swift` getSwapPreSignedInputData) and Android
|
|
45
|
+
// (`ThorchainSwapHelper.getSwapPreSignedInputData`) derive from the same
|
|
46
|
+
// payload. A co-signing joiner then polled a `message_id` the initiator never
|
|
47
|
+
// uploaded and died on `404 Timed out while waiting for setup message`.
|
|
48
|
+
// See vultisig/vultisig-windows#4464.
|
|
49
|
+
const rawSymbol = secured && typeof contractAddress === 'string' && contractAddress.trim()
|
|
37
50
|
? `${assetCoin.ticker}-${contractAddress}`
|
|
38
51
|
: assetCoin.ticker;
|
|
39
52
|
return TW.Cosmos.Proto.THORChainAsset.create({
|
|
@@ -423,22 +436,18 @@ export const getCosmosSigningInputs = ({ keysignPayload, walletCore }) => {
|
|
|
423
436
|
return amounts;
|
|
424
437
|
};
|
|
425
438
|
const ibcSpecific = chainKind === 'ibcEnabled' ? getRecordUnionValue(chainSpecific, 'ibcEnabled') : undefined;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
//
|
|
429
|
-
//
|
|
430
|
-
//
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
gas: ibcSpecific?.gas ?? 0n,
|
|
435
|
-
relayedGasLimit,
|
|
436
|
-
staticGasLimit,
|
|
437
|
-
isIbcTransfer,
|
|
439
|
+
// `CosmosSpecific.gas` (proto field 3) IS the fee amount — signed verbatim,
|
|
440
|
+
// never re-derived here. The initiator prices it against the gas limit it
|
|
441
|
+
// relays in field 7 (`getCosmosChainSpecific`), so any headroom is already
|
|
442
|
+
// baked in. Doing arithmetic on it in this read path is what diverged the
|
|
443
|
+
// SignDoc from iOS / Android — see resolveCosmosGasLimit.ts.
|
|
444
|
+
const resolvedGasLimit = resolveCosmosGasLimit({
|
|
445
|
+
relayedGasLimit: ibcSpecific?.gasLimit,
|
|
446
|
+
staticGasLimit: getCosmosGasLimit(coin),
|
|
438
447
|
});
|
|
439
448
|
return TW.Cosmos.Proto.Fee.create({
|
|
440
449
|
gas: Long.fromBigInt(resolvedGasLimit),
|
|
441
|
-
amounts: getFeeAmounts(
|
|
450
|
+
amounts: getFeeAmounts(ibcSpecific?.gas ?? 0n),
|
|
442
451
|
});
|
|
443
452
|
};
|
|
444
453
|
const { accountNumber, sequence } = getRecordUnionValue(chainSpecific);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cosmos/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cosmos/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,13 +16,15 @@ export type BuildLimitSwapKeysignPayloadInput = {
|
|
|
16
16
|
libType: KeysignLibType;
|
|
17
17
|
walletCore: WalletCore;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* Optional cross-check of the caller's own "you receive" figure, in
|
|
20
|
+
* THORChain's 1e8 fixed point — the same scale the memo's LIM uses, and what
|
|
21
|
+
* `getNativeSwapDecimals` formats a THORChain swap's output with.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* Not used to build the payload: the displayed minimum is always taken from
|
|
24
|
+
* the memo's LIM, so it cannot disagree with the order being signed. Supplying
|
|
25
|
+
* it asserts the caller's display math agrees with the memo, which catches a
|
|
26
|
+
* caller that rescaled to the target coin's own decimals — the LIM would still
|
|
27
|
+
* sign correctly while the co-signer saw a wrong figure.
|
|
26
28
|
*/
|
|
27
29
|
expectedToAmount?: bigint;
|
|
28
30
|
/** Epoch milliseconds; parameterised so the router expiry is deterministic under test. */
|
|
@@ -46,6 +48,20 @@ export type BuildLimitSwapKeysignPayloadInput = {
|
|
|
46
48
|
* dropping the memo and stranding the tokens on the router — so it must carry
|
|
47
49
|
* one.
|
|
48
50
|
*
|
|
51
|
+
* The swap payload is deliberately NOT attached to the first two branches, even
|
|
52
|
+
* though it would give co-signers the market path's swap review for free
|
|
53
|
+
* (sdk#1611). It is not display metadata: every signing-input resolver re-routes
|
|
54
|
+
* on its presence — UTXO takes both amount and destination from it, EVM and Tron
|
|
55
|
+
* take the destination from `vaultAddress`, and the Cosmos resolver drops the
|
|
56
|
+
* tx-body memo (`txMemo: swapPayload ? '' : memo`). Attaching one would change
|
|
57
|
+
* signed bytes on a working path to improve a display, and for RUNE it would
|
|
58
|
+
* additionally make `assertNativeSwapReadyForBroadcast` resolve a `THOR` inbound
|
|
59
|
+
* row that THORChain's own inbound list does not contain, failing the broadcast
|
|
60
|
+
* guard outright. Joining devices get the order terms from
|
|
61
|
+
* `getKeysignLimitSwapOrder` instead, which reads the memo that every branch
|
|
62
|
+
* already carries — and which, being the string THORChain executes, cannot
|
|
63
|
+
* disagree with what is signed.
|
|
64
|
+
*
|
|
49
65
|
* Fund-safety gates, all fail-closed:
|
|
50
66
|
* - The `EnableAdvSwapQueue` mimir is re-checked here, at sign time. Placement
|
|
51
67
|
* was already gated on it, but it can flip while the user sits on Verify, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildLimitSwapKeysignPayload.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapKeysignPayload.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAYnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAiB7C,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,CAAA;IACxB,WAAW,EAAE,SAAS,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB
|
|
1
|
+
{"version":3,"file":"buildLimitSwapKeysignPayload.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapKeysignPayload.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAYnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAiB7C,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,CAAA;IACxB,WAAW,EAAE,SAAS,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,0FAA0F;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,4BAA4B,GAAU,oIAahD,iCAAiC,yFA8HnC,CAAA"}
|
|
@@ -10,7 +10,7 @@ import { areEqualCoins } from '@vultisig/core-chain/coin/Coin';
|
|
|
10
10
|
import { isFeeCoin } from '@vultisig/core-chain/coin/utils/isFeeCoin';
|
|
11
11
|
import { getAdvancedSwapQueueEnabled } from '@vultisig/core-chain/swap/native/limitSwapAvailability';
|
|
12
12
|
import { findLimitSwapInbound, isLimitSwapDestinationHalted, shouldBlockRuneDeposit, } from '@vultisig/core-chain/swap/native/limitSwapInbound';
|
|
13
|
-
import {
|
|
13
|
+
import { parseLimitSwapMemo } from '@vultisig/core-chain/swap/native/limitSwapMemo';
|
|
14
14
|
import { getNativeSwapDecimals } from '@vultisig/core-chain/swap/native/utils/getNativeSwapDecimals';
|
|
15
15
|
import { getChainSpecific } from '../chainSpecific/index.js';
|
|
16
16
|
import { refineKeysignUtxo } from '../refine/utxo.js';
|
|
@@ -47,6 +47,20 @@ const routerExpiryMs = 15 * 60 * 1000;
|
|
|
47
47
|
* dropping the memo and stranding the tokens on the router — so it must carry
|
|
48
48
|
* one.
|
|
49
49
|
*
|
|
50
|
+
* The swap payload is deliberately NOT attached to the first two branches, even
|
|
51
|
+
* though it would give co-signers the market path's swap review for free
|
|
52
|
+
* (sdk#1611). It is not display metadata: every signing-input resolver re-routes
|
|
53
|
+
* on its presence — UTXO takes both amount and destination from it, EVM and Tron
|
|
54
|
+
* take the destination from `vaultAddress`, and the Cosmos resolver drops the
|
|
55
|
+
* tx-body memo (`txMemo: swapPayload ? '' : memo`). Attaching one would change
|
|
56
|
+
* signed bytes on a working path to improve a display, and for RUNE it would
|
|
57
|
+
* additionally make `assertNativeSwapReadyForBroadcast` resolve a `THOR` inbound
|
|
58
|
+
* row that THORChain's own inbound list does not contain, failing the broadcast
|
|
59
|
+
* guard outright. Joining devices get the order terms from
|
|
60
|
+
* `getKeysignLimitSwapOrder` instead, which reads the memo that every branch
|
|
61
|
+
* already carries — and which, being the string THORChain executes, cannot
|
|
62
|
+
* disagree with what is signed.
|
|
63
|
+
*
|
|
50
64
|
* Fund-safety gates, all fail-closed:
|
|
51
65
|
* - The `EnableAdvSwapQueue` mimir is re-checked here, at sign time. Placement
|
|
52
66
|
* was already gated on it, but it can flip while the user sits on Verify, and
|
|
@@ -67,8 +81,12 @@ const routerExpiryMs = 15 * 60 * 1000;
|
|
|
67
81
|
* already floor at `deriveEvmGasLimit`'s 600000 data-tx limit. Forcing 120000
|
|
68
82
|
* would make the limit path diverge from the market path and risk under-gassing.
|
|
69
83
|
*/
|
|
70
|
-
export const buildLimitSwapKeysignPayload = async ({ fromCoin, toCoin, amount, memo, vaultId, localPartyId, fromPublicKey, toPublicKey, libType, walletCore, expectedToAmount
|
|
71
|
-
|
|
84
|
+
export const buildLimitSwapKeysignPayload = async ({ fromCoin, toCoin, amount, memo, vaultId, localPartyId, fromPublicKey, toPublicKey, libType, walletCore, expectedToAmount, now = Date.now(), }) => {
|
|
85
|
+
const order = parseLimitSwapMemo(memo);
|
|
86
|
+
if (expectedToAmount !== undefined && expectedToAmount !== order.limit) {
|
|
87
|
+
throw new Error(`buildLimitSwapKeysignPayload: expectedToAmount ${expectedToAmount} disagrees with the memo's LIM ${order.limit}. ` +
|
|
88
|
+
"It must be the LIM in THORChain's 1e8 fixed point, not rescaled to the target coin's decimals.");
|
|
89
|
+
}
|
|
72
90
|
if (amount <= 0n) {
|
|
73
91
|
throw new Error('buildLimitSwapKeysignPayload: amount must be greater than 0');
|
|
74
92
|
}
|
|
@@ -109,7 +127,7 @@ export const buildLimitSwapKeysignPayload = async ({ fromCoin, toCoin, amount, m
|
|
|
109
127
|
fromAmount: amount.toString(),
|
|
110
128
|
// Display-only, for the co-signer's "you receive" row. The order's real
|
|
111
129
|
// floor is the LIM inside the memo; these fields are never read here.
|
|
112
|
-
toAmountDecimal: fromChainAmountDisplay(
|
|
130
|
+
toAmountDecimal: fromChainAmountDisplay(order.limit, getNativeSwapDecimals(toCoin)),
|
|
113
131
|
toAmountLimit: '0',
|
|
114
132
|
streamingInterval: '0',
|
|
115
133
|
streamingQuantity: '0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildLimitSwapKeysignPayload.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapKeysignPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oEAAoE,CAAA;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yDAAyD,CAAA;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wDAAwD,CAAA;AACpG,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"buildLimitSwapKeysignPayload.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapKeysignPayload.ts"],"names":[],"mappings":"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"}
|