@vultisig/core-mpc 1.16.2 → 1.18.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 +70 -0
- package/dist/keysign/chainSpecific/resolvers/ripple.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/ripple.js +9 -1
- package/dist/keysign/chainSpecific/resolvers/ripple.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/index.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/sui/index.js +8 -5
- package/dist/keysign/chainSpecific/resolvers/sui/index.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ripple.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ripple.js +11 -4
- package/dist/keysign/signingInputs/resolvers/ripple.js.map +1 -1
- package/dist/keysign/swap/build.d.ts.map +1 -1
- package/dist/keysign/swap/build.js +41 -4
- package/dist/keysign/swap/build.js.map +1 -1
- package/dist/keysign/swap/buildLimitSwapCancelKeysignPayload.d.ts +66 -0
- package/dist/keysign/swap/buildLimitSwapCancelKeysignPayload.d.ts.map +1 -0
- package/dist/keysign/swap/buildLimitSwapCancelKeysignPayload.js +139 -0
- package/dist/keysign/swap/buildLimitSwapCancelKeysignPayload.js.map +1 -0
- package/dist/keysign/swap/getKeysignLimitSwapCancel.d.ts +44 -0
- package/dist/keysign/swap/getKeysignLimitSwapCancel.d.ts.map +1 -0
- package/dist/keysign/swap/getKeysignLimitSwapCancel.js +51 -0
- package/dist/keysign/swap/getKeysignLimitSwapCancel.js.map +1 -0
- package/dist/keysign/utils/isRippleTrustSet.d.ts +32 -0
- package/dist/keysign/utils/isRippleTrustSet.d.ts.map +1 -0
- package/dist/keysign/utils/isRippleTrustSet.js +39 -0
- package/dist/keysign/utils/isRippleTrustSet.js.map +1 -0
- package/dist/types/vultisig/keysign/v1/blockchain_specific_pb.d.ts +31 -1
- package/dist/types/vultisig/keysign/v1/blockchain_specific_pb.d.ts.map +1 -1
- package/dist/types/vultisig/keysign/v1/blockchain_specific_pb.js +10 -1
- package/dist/types/vultisig/keysign/v1/blockchain_specific_pb.js.map +1 -1
- package/package.json +17 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,75 @@
|
|
|
1
1
|
# @vultisig/core-mpc
|
|
2
2
|
|
|
3
|
+
## 1.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#1776](https://github.com/vultisig/vultisig-sdk/pull/1776) [`a812367`](https://github.com/vultisig/vultisig-sdk/commit/a812367923ac3781dc240d00124232c6f0cc3348) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - SUI works as a SwapKit swap source, and the transfer-route path no longer trusts SwapKit's `meta.txType` to decide how to decode a payload.
|
|
8
|
+
|
|
9
|
+
Sui was rejected before any network call, on the stated grounds that no `GeneralSwapTx` variant could carry a programmable transaction block. That was never true: the `transfer` variant already carries opaque pre-built bytes as `txType` + `txPayload`, which is exactly how a Bitcoin PSBT route reaches the signer. Nothing needed porting either — `getSuiSigningInputs` has forwarded arbitrary BCS-serialized PTBs to WalletCore's `SignDirect` since the dApp Wallet Standard path landed, and the intent digest it produces is the same blake2b-32 over `[0,0,0] || ptb` that iOS computes by hand in `SwapKitSuiSigner`. The route now rides the transfer arm and hands its bytes to that signer, so a Sui source signs and broadcasts through paths already in use rather than new ones.
|
|
10
|
+
|
|
11
|
+
`disableBuildTx` is no longer opt-out-by-exception. `swapKitTransferSourceChains` mixes deposit-only chains, which need nothing but an address, with chains whose returned bytes _are_ the thing being signed, and the request suppressed transaction building for everything in the list except a hardcoded `!== Chain.Bitcoin`. Adding any prebuilt-tx chain therefore defaulted to asking SwapKit not to build the transaction — the wrong default, and a silent one: the response simply arrives without a `tx`, and the failure surfaces later as an empty payload during keysign construction rather than at the request that caused it. The two kinds of chain are now named separately, so membership of the transfer list no longer implies anything about who builds the transaction.
|
|
12
|
+
|
|
13
|
+
Payload decoding dispatches on the source chain instead of the wire label. SwapKit renames these labels live without versioning — `SOLANA` became `SERIALIZED_BASE64` and `CARDANO` became `CBOR`, both mid-flight — and an unrecognized label fell through to UTF-8-encoding the base64 string instead of decoding it, producing a `txPayload` of the right shape and entirely wrong bytes. The source chain is the discriminator EVM and Solana already used, and it is the only one SwapKit cannot rename. The stored `txType` is normalized to `SUI` for the same reason it must be: iOS hardcodes that spelling rather than persisting what it received, and the field is part of the cosigned `SwapKitSwapPayload`, so a device that stored the wire value would disagree with its own cosigner. A Sui route whose `tx` is not a string is now rejected outright, since the fallback would encode a JSON object into the payload and yield something that looks signable.
|
|
14
|
+
|
|
15
|
+
Pre-built PTBs also report their real network fee. `getSuiChainSpecific` returned an empty `SuiSpecific` for the `signSui` case on the reasoning that a built PTB has no construction inputs to fetch — true, but `getSuiFeeAmount` reads its budget from that message, so `BigInt('')` made every such transaction display a zero fee while the chain charged the budget baked into the bytes. The gas budget and price are read back out of the PTB offline, with no RPC call, and a payload that cannot be decoded still falls back to blank rather than blocking a transaction over a display concern. This corrects the dApp signing path as well as swaps.
|
|
16
|
+
|
|
17
|
+
Cardano stays blocked as a source. Its payload decode returns an empty byte array — there is no implementation at all — so any transaction built from it would be silently wrong.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [#1794](https://github.com/vultisig/vultisig-sdk/pull/1794) [`80b19bd`](https://github.com/vultisig/vultisig-sdk/commit/80b19bdbfbcb6af875a0b145bb02306552adac27) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - fix(ripple): state TrustSet on the wire so it co-signs with iOS
|
|
22
|
+
|
|
23
|
+
An XRPL trust-line activation originated here could not be co-signed by an iOS
|
|
24
|
+
device: the ceremony diverged and never completed. No funds moved, but the trust
|
|
25
|
+
line could not be opened at all in a mixed committee.
|
|
26
|
+
|
|
27
|
+
A non-native Ripple coin is ambiguous on its own — the same `(currency, issuer)`
|
|
28
|
+
pair means either "open a trust line for this token" (TrustSet, where the keysign
|
|
29
|
+
amount is the trust-line LIMIT) or "send this token" (Payment with a
|
|
30
|
+
CurrencyAmount) — and the two sign different bytes. commondata already carries
|
|
31
|
+
the discriminator that resolves it, but the generated protos here were stale, so
|
|
32
|
+
`RippleSpecific.transaction_type` never reached the wire and each platform fell
|
|
33
|
+
back to its own default: this SDK always read a TrustSet, iOS read a Payment.
|
|
34
|
+
|
|
35
|
+
Regenerates `blockchain_specific_pb.ts` from commondata (adding
|
|
36
|
+
`RippleSpecific.transaction_type` and `TRANSACTION_TYPE_RIPPLE_TRUST_SET`), sets
|
|
37
|
+
the field when building a TrustSet, and prefers it when signing.
|
|
38
|
+
|
|
39
|
+
The coin-shape inference is kept as the fallback, deliberately: clients shipped
|
|
40
|
+
before this field infer TrustSet from a non-native coin alone, so honouring that
|
|
41
|
+
keeps a TrustSet byte-identical across a mixed-version committee. Native XRP
|
|
42
|
+
payloads and verbatim `signRipple` dApp transactions leave the field unset, so
|
|
43
|
+
their signed bytes are unchanged.
|
|
44
|
+
|
|
45
|
+
- Updated dependencies [[`a812367`](https://github.com/vultisig/vultisig-sdk/commit/a812367923ac3781dc240d00124232c6f0cc3348)]:
|
|
46
|
+
- @vultisig/core-chain@2.33.0
|
|
47
|
+
|
|
48
|
+
## 1.17.0
|
|
49
|
+
|
|
50
|
+
### Minor Changes
|
|
51
|
+
|
|
52
|
+
- [#1696](https://github.com/vultisig/vultisig-sdk/pull/1696) [`37d7044`](https://github.com/vultisig/vultisig-sdk/commit/37d7044e33d475ddce93b91ff6295d55490052b4) Thanks [@Ehsan-saradar](https://github.com/Ehsan-saradar)! - Limit-order cancellation, end to end: a full-form memo asset, a cancel keysign payload builder, and cancel-aware review for co-signers.
|
|
53
|
+
|
|
54
|
+
The primitives shipped earlier could describe a cancellation but not send one, and a device joining the ceremony could not read one at all. These are the three pieces that close that.
|
|
55
|
+
|
|
56
|
+
`getThorchainCancelMemoAsset` emits the spelling a cancel requires — the same notation as the placement path, minus the abbreviation. That difference is the entire point: `ModifyLimitSwapMemo` is the one inbound memo type `processOneTxIn` does not route through `fuzzyAssetMatch`, so a placement's six-character contract suffix would address a bucket holding no order. `buildCancelLimitSwapMemo` already refused abbreviated assets, which meant there was previously no supported way to produce an input it would accept for a token leg. Both spellings now share one converter and one set of validation rules, so they cannot drift apart in anything but the abbreviation. `getThorchainMemoAssetChain` resolves a memo asset back to its home chain across every flavour, including the secured denoms that a `.`-split would fail to resolve at all.
|
|
57
|
+
|
|
58
|
+
`buildLimitSwapCancelKeysignPayload` turns that memo into a signable transaction, branching on where the order was funded: a THORChain source becomes a `MsgDeposit` carrying no value, and an L1 source a transfer to the live Asgard inbound with derived dust attached solely so Bifrost observes it. The signing asset is the funding chain's **gas** asset, never the order's own — a cancel moves no tokens, and a token here would build an ERC20 transfer that drops the memo entirely. Every gate fails closed: a retarget (`m=<` with a non-zero final field) is refused rather than signed as a cancellation, a memo that overflows the source chain's budget is refused rather than truncated into one matching nothing, and the destination is taken from a live inbound view rather than a cache.
|
|
59
|
+
|
|
60
|
+
The signing coin's chain is checked against the memo's, too. The two arrive as independent parameters, so a caller reaching for "the vault's ETH coin" while holding a BTC-sourced memo would otherwise get a payload that builds, signs and broadcasts cleanly — and is then refunded by THORChain's `From.IsChain(Source.Asset.GetChain())` check, leaving a successful-looking transaction that cancelled nothing. The funding chain is derived from the memo rather than cross-checked against a second parameter, so there is one authority for it. `getThorchainMemoAssetSourceChain` supplies that with `GetChain()` semantics rather than the asset's home chain: a secured or synth source is custodied on THORChain and must be sent from a THOR address even though it originates elsewhere.
|
|
61
|
+
|
|
62
|
+
The `EnableAdvSwapQueue` mimir is deliberately _not_ re-checked here, unlike at placement. That gate protects a new order from executing as an unprotected market swap, a risk a cancel does not carry; refusing to close an already-resting position because the queue stopped accepting new ones would strand it for the remainder of its TTL with no way out.
|
|
63
|
+
|
|
64
|
+
`getKeysignLimitSwapCancel` and `parseCancelLimitSwapMemo` give a joining device the order being closed, decoded from the memo. A cancel carries no swap payload on any branch, so a co-signer keying off one previously saw a dust transfer to an opaque address — worse than uninformative, since a trivial amount reads as harmless while the transaction closes a position. As with placement, the terms come from the memo because the memo is the instruction THORChain executes, so what a reviewer sees cannot disagree with what gets signed. A retarget is reported as not-a-cancellation rather than mislabelled, and the reproduced bucket key travels alongside so a reviewer holding the vault's open orders can tell whether the cancel is unambiguous.
|
|
65
|
+
|
|
66
|
+
`getThorchainCancelMemoAsset` emits its asset UPPER-CASED, unlike the coin's own contract id. Case is not semantic to THORNode — `common.ParseAsset` upper-cases whatever it is given, and the queue index key is built from an upper-cased asset — but it is semantic to this package's pool-id validation, which cancel eligibility routes through to size the memo against its source chain. In the contract's native lower case, every ERC20-funded order reads as an unroutable source chain and becomes uncancellable.
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [[`7d2a91d`](https://github.com/vultisig/vultisig-sdk/commit/7d2a91de80a297c6db6b2fe2e9db41ace609c822), [`37d7044`](https://github.com/vultisig/vultisig-sdk/commit/37d7044e33d475ddce93b91ff6295d55490052b4)]:
|
|
71
|
+
- @vultisig/core-chain@2.32.0
|
|
72
|
+
|
|
3
73
|
## 1.16.2
|
|
4
74
|
|
|
5
75
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/ripple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/ripple.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAOtD,eAAO,MAAM,2BAA2B,GAAI,oBAAoB,MAAM,GAAG,SAAS,KAAG,MAMpF,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,wBAAwB,CAAC,gBAAgB,CA0F7E,CAAA"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { create } from '@bufbuild/protobuf';
|
|
2
2
|
import { getRippleAccountInfo } from '@vultisig/core-chain/chains/ripple/account/info';
|
|
3
3
|
import { getRippleNetworkInfo } from '@vultisig/core-chain/chains/ripple/network/info';
|
|
4
|
-
import { RippleSpecificSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/blockchain_specific_pb';
|
|
4
|
+
import { RippleSpecificSchema, TransactionType, } from '@vultisig/core-mpc/types/vultisig/keysign/v1/blockchain_specific_pb';
|
|
5
5
|
import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
|
|
6
6
|
import { attempt } from '@vultisig/lib-utils/attempt';
|
|
7
7
|
import { isInError } from '@vultisig/lib-utils/error/isInError';
|
|
8
8
|
import { maxBigInt } from '@vultisig/lib-utils/math/maxBigInt';
|
|
9
9
|
import { BuildKeysignPayloadError } from '../../error.js';
|
|
10
10
|
import { getKeysignCoin } from '../../utils/getKeysignCoin.js';
|
|
11
|
+
import { hasRippleTrustSetShape } from '../../utils/isRippleTrustSet.js';
|
|
11
12
|
import { resolveDestinationTag } from '../../utils/rippleDestinationTag.js';
|
|
12
13
|
const minProtocolFee = 15n;
|
|
13
14
|
const baseFeeMultiplier = 2n;
|
|
@@ -75,12 +76,19 @@ export const getRippleChainSpecific = async ({ keysignPayload, destinationTag, }
|
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
const { account_data, ledger_current_index: ledgerCurrentIndex } = senderAccount;
|
|
79
|
+
// State the operation on the wire rather than leaving every signer to infer
|
|
80
|
+
// it from the coin. A non-native Ripple coin means either "open a trust line"
|
|
81
|
+
// or "send this token", and the two sign different bytes — a co-signer that
|
|
82
|
+
// reads the undiscriminated case as a Payment diverges from the TrustSet
|
|
83
|
+
// built here, and the ceremony never completes.
|
|
84
|
+
const isTrustSet = hasRippleTrustSetShape(keysignPayload);
|
|
78
85
|
return create(RippleSpecificSchema, {
|
|
79
86
|
sequence: BigInt(account_data.Sequence),
|
|
80
87
|
lastLedgerSequence: getRippleLastLedgerSequence(ledgerCurrentIndex),
|
|
81
88
|
// Fee is the network fee only — the reserve rides on the Payment amount.
|
|
82
89
|
gas: networkFee,
|
|
83
90
|
...(effectiveDestinationTag !== undefined ? { destinationTag: effectiveDestinationTag } : {}),
|
|
91
|
+
...(isTrustSet ? { transactionType: TransactionType.RIPPLE_TRUST_SET } : {}),
|
|
84
92
|
});
|
|
85
93
|
};
|
|
86
94
|
//# sourceMappingURL=ripple.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/ripple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAA;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAA;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/ripple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/sui/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/sui/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAKzD,eAAO,MAAM,mBAAmB,EAAE,wBAAwB,CAAC,gBAAgB,CAkH1E,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { create } from '@bufbuild/protobuf';
|
|
|
2
2
|
import { getSuiClient } from '@vultisig/core-chain/chains/sui/client';
|
|
3
3
|
import { suiGasBudget } from '@vultisig/core-chain/chains/sui/config';
|
|
4
4
|
import { listAllSuiCoins } from '@vultisig/core-chain/chains/sui/listAllCoins';
|
|
5
|
+
import { getSuiPrebuiltGasData } from '@vultisig/core-chain/chains/sui/prebuiltGasData';
|
|
5
6
|
import { SuiCoinSchema, SuiSpecificSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/blockchain_specific_pb';
|
|
6
7
|
import { attempt } from '@vultisig/lib-utils/attempt';
|
|
7
8
|
import { getKeysignCoin } from '../../../utils/getKeysignCoin.js';
|
|
@@ -10,12 +11,14 @@ import { refineSuiChainSpecific } from './refine.js';
|
|
|
10
11
|
class SuiGasBudgetConvergenceError extends Error {
|
|
11
12
|
}
|
|
12
13
|
export const getSuiChainSpecific = async ({ keysignPayload, walletCore, }) => {
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
14
|
+
// Pre-built PTBs (`signData.signSui` — dApp Wallet Standard requests and
|
|
15
|
+
// SwapKit Sui-source swaps) are already fully built: coins, gas budget and
|
|
16
|
+
// reference gas price are baked into the BCS bytes that `getSuiSigningInputs`
|
|
17
|
+
// forwards verbatim. There are no construction inputs to fetch, so skip the
|
|
18
|
+
// RPC entirely and read the gas numbers back out of the bytes — without them
|
|
19
|
+
// `getSuiFeeAmount` reports a 0 network fee on the confirmation screen.
|
|
17
20
|
if (keysignPayload.signData.case === 'signSui') {
|
|
18
|
-
return create(SuiSpecificSchema,
|
|
21
|
+
return create(SuiSpecificSchema, getSuiPrebuiltGasData(keysignPayload.signData.value.unsignedTxMsg));
|
|
19
22
|
}
|
|
20
23
|
const coin = getKeysignCoin(keysignPayload);
|
|
21
24
|
const { address } = coin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/sui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qEAAqE,CAAA;AACtH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEjD,MAAM,4BAA6B,SAAQ,KAAK;CAAG;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAA+C,KAAK,EAAE,EACpF,cAAc,EACd,UAAU,GACX,EAAE,EAAE;IACH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/sui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ripple.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ripple.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,CAAC,QAAQ,CA2LlE,CAAA"}
|
|
@@ -6,6 +6,7 @@ import { TW } from '@trustwallet/wallet-core';
|
|
|
6
6
|
import Long from 'long';
|
|
7
7
|
import { getBlockchainSpecificValue } from '../../chainSpecific/KeysignChainSpecific.js';
|
|
8
8
|
import { getKeysignTwPublicKey } from '../../tw/getKeysignTwPublicKey.js';
|
|
9
|
+
import { isRippleTrustSet } from '../../utils/isRippleTrustSet.js';
|
|
9
10
|
import { getLegacyDestinationTag, resolveDestinationTag } from '../../utils/rippleDestinationTag.js';
|
|
10
11
|
export const getRippleSigningInputs = ({ keysignPayload }) => {
|
|
11
12
|
const rippleSpecific = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'rippleSpecific');
|
|
@@ -94,13 +95,19 @@ export const getRippleSigningInputs = ({ keysignPayload }) => {
|
|
|
94
95
|
}
|
|
95
96
|
return { rawJson };
|
|
96
97
|
};
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
98
|
+
// A TrustSet opens or modifies a trust line, and the keysign amount is its
|
|
99
|
+
// LIMIT rather than a transfer. `RippleSpecific.transaction_type` says so
|
|
100
|
+
// explicitly; when it is absent the coin's shape decides, which is how every
|
|
101
|
+
// signer shipped before that field behaves — honouring it keeps a TrustSet
|
|
102
|
+
// byte-identical across a mixed-version committee. Native XRP falls through
|
|
103
|
+
// to the Payment path below.
|
|
100
104
|
const getTrustSet = () => {
|
|
101
|
-
if (
|
|
105
|
+
if (!isRippleTrustSet(keysignPayload)) {
|
|
102
106
|
return undefined;
|
|
103
107
|
}
|
|
108
|
+
if (coin.isNativeToken || !coin.contractAddress) {
|
|
109
|
+
throw new Error('XRP TrustSet requires an issued-currency coin carrying a token id');
|
|
110
|
+
}
|
|
104
111
|
const { currency, issuer } = parseRippleTokenId(coin.contractAddress);
|
|
105
112
|
return {
|
|
106
113
|
opTrustSet: TW.Ripple.Proto.OperationTrustSet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ripple.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ripple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAQnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAU1D,OAAO,EAAE,cAAc,EAAwB,MAAM,iEAAiE,CAAA;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAQnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAU1D,OAAO,EAAE,cAAc,EAAwB,MAAM,iEAAiE,CAAA;AAItH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAGzE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,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;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AA8ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAAU,oIAY3C,4BAA4B,4BAwR9B,CAAA"}
|
|
@@ -22,13 +22,11 @@ import { OneInchQuoteSchema, OneInchSwapPayloadSchema, OneInchTransactionSchema,
|
|
|
22
22
|
import { Erc20ApprovePayloadSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/erc20_approve_payload_pb';
|
|
23
23
|
import { KeysignPayloadSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/keysign_message_pb';
|
|
24
24
|
import { SwapKitSwapPayloadSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/swapkit_swap_payload_pb';
|
|
25
|
+
import { SignSuiSchema } from '@vultisig/core-mpc/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb';
|
|
25
26
|
import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
|
|
26
27
|
import { Psbt } from 'bitcoinjs-lib';
|
|
27
28
|
const isSwapKitBitcoinPsbt = (fromCoin, transfer) => fromCoin.chain === Chain.Bitcoin && transfer.txType?.toUpperCase() === 'PSBT';
|
|
28
29
|
const getSwapKitBitcoinSignData = (fromCoin, transfer) => {
|
|
29
|
-
if (fromCoin.chain !== Chain.Bitcoin) {
|
|
30
|
-
return { case: undefined };
|
|
31
|
-
}
|
|
32
30
|
if (!isSwapKitBitcoinPsbt(fromCoin, transfer)) {
|
|
33
31
|
throw new Error('SwapKit Bitcoin transfer routes must include PSBT txType and txPayload.');
|
|
34
32
|
}
|
|
@@ -50,6 +48,45 @@ const getSwapKitBitcoinSignData = (fromCoin, transfer) => {
|
|
|
50
48
|
value: signBitcoin,
|
|
51
49
|
};
|
|
52
50
|
};
|
|
51
|
+
/**
|
|
52
|
+
* Stage SwapKit's pre-built Sui programmable transaction block for signing.
|
|
53
|
+
*
|
|
54
|
+
* The PTB already encodes coins, gas and recipients, so it is forwarded to the
|
|
55
|
+
* existing `signSui` path (WalletCore `SignDirect`) verbatim rather than being
|
|
56
|
+
* reconstructed as a Pay / PaySui input. Re-encoding to base64 here is
|
|
57
|
+
* deliberate: `SwapKitSwapPayload.txPayload` stays raw bytes so a cosigning iOS
|
|
58
|
+
* or Android peer rebuilds byte-identical signing input, while `SignSui`'s wire
|
|
59
|
+
* contract is a base64 string.
|
|
60
|
+
*/
|
|
61
|
+
const getSwapKitSuiSignData = (transfer) => {
|
|
62
|
+
// Deliberately NOT gated on `txType`: SwapKit renames base64 tx types on the
|
|
63
|
+
// wire without versioning (see `buildTransferTx`), so the source chain — which
|
|
64
|
+
// the caller has already matched on — is the only reliable discriminator.
|
|
65
|
+
if (!transfer.txPayload?.length) {
|
|
66
|
+
throw new Error('SwapKit Sui PTB payload is empty.');
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
case: 'signSui',
|
|
70
|
+
value: create(SignSuiSchema, {
|
|
71
|
+
unsignedTxMsg: Buffer.from(transfer.txPayload).toString('base64'),
|
|
72
|
+
}),
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Route a SwapKit transfer route to the chain-specific pre-built signing
|
|
77
|
+
* payload it needs. Chains whose SwapKit wire shape is a plain native send
|
|
78
|
+
* (TON, XRP, ADA deposits) carry no pre-built bytes and sign through the
|
|
79
|
+
* normal per-chain builder, so they get an empty `signData`.
|
|
80
|
+
*/
|
|
81
|
+
const getSwapKitSignData = (fromCoin, transfer) => {
|
|
82
|
+
if (fromCoin.chain === Chain.Bitcoin) {
|
|
83
|
+
return getSwapKitBitcoinSignData(fromCoin, transfer);
|
|
84
|
+
}
|
|
85
|
+
if (fromCoin.chain === Chain.Sui) {
|
|
86
|
+
return getSwapKitSuiSignData(transfer);
|
|
87
|
+
}
|
|
88
|
+
return { case: undefined };
|
|
89
|
+
};
|
|
53
90
|
/**
|
|
54
91
|
* Builds a KeysignPayload for a swap transaction.
|
|
55
92
|
*
|
|
@@ -118,7 +155,7 @@ export const buildSwapKeysignPayload = async ({ fromCoin, toCoin, amount, swapQu
|
|
|
118
155
|
cowswap_order: () => undefined,
|
|
119
156
|
});
|
|
120
157
|
if (quote.provider === 'swapkit' && transfer) {
|
|
121
|
-
keysignPayload.signData =
|
|
158
|
+
keysignPayload.signData = getSwapKitSignData(fromCoin, transfer);
|
|
122
159
|
return {
|
|
123
160
|
case: 'swapkitSwapPayload',
|
|
124
161
|
value: create(SwapKitSwapPayloadSchema, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAA;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,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,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAC5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,sEAAsE,CAAA;AAE/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAA;AACvG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mEAAmE,CAAA;AAEhH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+DAA+D,CAAA;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAA;AAEvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAExB,wBAAwB,GACzB,MAAM,oEAAoE,CAAA;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uEAAuE,CAAA;AACjH,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iEAAiE,CAAA;AACtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sEAAsE,CAAA;AAC/G,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAuBpC,MAAM,oBAAoB,GAAG,CAAC,QAAqB,EAAE,QAAwB,EAAE,EAAE,CAC/E,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,MAAM,CAAA;AAE/E,MAAM,yBAAyB,GAAG,CAAC,QAAqB,EAAE,QAAwB,EAA8B,EAAE;IAChH,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtD,aAAa,EAAE,QAAQ,CAAC,OAAO;KAChC,CAAC,CAAA;IAEF,+BAA+B,CAAC;QAC9B,WAAW;QACX,aAAa,EAAE,QAAQ,CAAC,OAAO;QAC/B,iBAAiB,EAAE,QAAQ,CAAC,EAAE;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,MAAM;KAClC,CAAC,CAAA;IAEF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,WAAW;KACnB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,QAAQ,EACR,MAAM,EACN,MAAM,EACN,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,UAAU,EACV,gBAAgB,GACa,EAAE,EAAE;IACjC,MAAM,UAAU,GAAG,gBAAgB,CAA8C,SAAS,CAAC,KAAK,EAAE;QAChG,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;QACvB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAClB,gBAAgB,CAA4C,EAAE,EAAE;YAC9D,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YACpB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;YACvB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SAC/B,CAAC;KACL,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAElF,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE1E,MAAM,4BAA4B,GAAG,gBAAgB,CAAsC,SAAS,CAAC,KAAK,EAAE;QAC1G,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;QACvB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAClB,gBAAgB,CAAoC,EAAE,EAAE;YACtD,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ;YAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;YACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;YACzB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;SAC/B,CAAC;KACL,CAAC,CAAA;IAEF,6EAA6E;IAC7E,+EAA+E;IAC/E,iFAAiF;IACjF,kFAAkF;IAClF,oFAAoF;IAEpF,IAAI,cAAc,GAAG,MAAM,CAAC,oBAAoB,EAAE;QAChD,IAAI,EAAE,UAAU,CAAC;YACf,GAAG,QAAQ;YACX,YAAY,EAAE,oBAAoB;SACnC,CAAC;QACF,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE;QAChC,iBAAiB,EAAE,YAAY;QAC/B,mBAAmB,EAAE,OAAO;QAC5B,OAAO;QACP,SAAS,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACpE,QAAQ,EAAE,MAAM,kBAAkB,CAAC,QAAQ,CAAC;QAC5C,IAAI,EAAE,gBAAgB,CAAsC,SAAS,CAAC,KAAK,EAAE;YAC3E,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI;YAC1B,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAClB,gBAAgB,CAAoC,EAAE,EAAE;gBACtD,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;gBACpB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;gBACvB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI;gBAC5B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;aAC/B,CAAC;SACL,CAAC;KACH,CAAC,CAAA;IAEF,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAiD,SAAS,CAAC,KAAK,EAAE;QAC7G,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,MAAM,QAAQ,GAAG,gBAAgB,CAA4C,KAAK,CAAC,EAAE,EAAE;gBACrF,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;gBACpB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;gBACvB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;gBAClB,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;aAC/B,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;gBAC7C,cAAc,CAAC,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAEvE,OAAO;oBACL,IAAI,EAAE,oBAAoB;oBAC1B,KAAK,EAAE,MAAM,CAAC,wBAAwB,EAAE;wBACtC,QAAQ,EAAE,UAAU,CAAC;4BACnB,GAAG,QAAQ;4BACX,YAAY,EAAE,oBAAoB;yBACnC,CAAC;wBACF,MAAM,EAAE,UAAU,CAAC;4BACjB,GAAG,MAAM;4BACT,YAAY,EAAE,kBAAkB;yBACjC,CAAC;wBACF,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE;wBAClC,eAAe,EAAE,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;wBACzE,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;wBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,UAAU,EAAE;wBACjD,aAAa,EAAE,QAAQ,CAAC,EAAE;wBAC1B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjD,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE;wBACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;qBAC9B,CAAC;iBACH,CAAA;YACH,CAAC;YAED,MAAM,KAAK,GAAG,gBAAgB,CAAuD,KAAK,CAAC,EAAE,EAAE;gBAC7F,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;oBAC/C,OAAO;wBACL,IAAI;wBACJ,EAAE;wBACF,IAAI;wBACJ,KAAK;wBACL,QAAQ,EAAE,EAAE;wBACZ,GAAG,EAAE,EAAE;wBACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;wBAC3D,GAAG,CAAC,YAAY;4BACd,CAAC,CAAC;gCACE,YAAY,EAAE,YAAY,CAAC,KAAK;gCAChC,cAAc,EAAE,YAAY,CAAC,EAAE;gCAC/B,eAAe,EAAE,YAAY,CAAC,QAAQ;6BACvC;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR,CAAA;gBACH,CAAC;gBACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,EAAE,EAAE;oBACR,EAAE,EAAE,EAAE;oBACN,IAAI;oBACJ,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,EAAE;oBACZ,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;oBACd,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAClC,YAAY,EAAE,OAAO,CAAC,KAAK;oBAC3B,cAAc,EAAE,OAAO,CAAC,EAAE;oBAC1B,eAAe,EAAE,OAAO,CAAC,QAAQ;iBAClC,CAAC;gBACF,gFAAgF;gBAChF,8EAA8E;gBAC9E,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrB,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,EAAE;oBACF,IAAI,EAAE,EAAE;oBACR,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,EAAE;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,EAAE;iBACZ,CAAC;gBACF,yEAAyE;gBACzE,yEAAyE;gBACzE,sEAAsE;gBACtE,sEAAsE;gBACtE,mEAAmE;gBACnE,oEAAoE;gBACpE,sEAAsE;gBACtE,+DAA+D;gBAC/D,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;oBACvB,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,EAAE,EAAE,yBAAyB;oBAC7B,IAAI,EAAE,wBAAwB,CAAC;wBAC7B,KAAK,EAAE;4BACL,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;4BAC1C,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;4BACxC,eAAe,EAAE,KAAK,CAAC,eAAe;yBACvC;wBACD,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,IAAI,EAAE,QAAQ,CAAC,OAAO;wBACtB,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC1D,CAAC;oBACF,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,EAAE;oBACZ,GAAG,EAAE,EAAE;oBACP,OAAO,EAAE,EAAE;iBACZ,CAAC;aACH,CAAC,CAAA;YAEF,MAAM,EAAE,GAAG,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;YAElD,MAAM,WAAW,GAA2B;gBAC1C,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,MAAM,CAAC,wBAAwB,EAAE;oBACtC,QAAQ,EAAE,UAAU,CAAC;wBACnB,GAAG,QAAQ;wBACX,YAAY,EAAE,oBAAoB;qBACnC,CAAC;oBACF,MAAM,EAAE,UAAU,CAAC;wBACjB,GAAG,MAAM;wBACT,YAAY,EAAE,kBAAkB;qBACjC,CAAC;oBACF,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAClC,eAAe,EAAE,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;oBACzE,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE;wBAChC,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,EAAE;qBACH,CAAC;oBACF,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC;aACH,CAAA;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,EAAE;YACd,OAAO,4BAA4B,CAAC;gBAClC,KAAK;gBACL,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX,YAAY,EAAE,oBAAoB;iBACnC;gBACD,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE;oBACN,GAAG,MAAM;oBACT,YAAY,EAAE,kBAAkB;iBACjC;aACF,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IAEF,cAAc,CAAC,kBAAkB,GAAG,MAAM,gBAAgB,CAAC;QACzD,cAAc;QACd,UAAU;QACV,4BAA4B;QAC5B,SAAS,EAAE,gBAAgB,CAA2B,SAAS,CAAC,KAAK,EAAE;YACrE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3E,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;SACrB,CAAC;KACH,CAAC,CAAA;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;IAE1B,2EAA2E;IAC3E,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,EAAE,IAAI,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3F,0BAA0B,CAAC,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,QAAQ;YACxF,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IAC/B,CAAC;IAED,IACE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;QAC3B,cAAc,CAAC,WAAW,EAAE,IAAI,KAAK,oBAAoB;QACzD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAC1C,CAAC;QACD,kHAAkH;QAClH,sEAAsE;QACtE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,0BAA0B,CAC9D,cAAc,CAAC,kBAAkB,EACjC,kBAAkB,CACnB,CAAA;QACD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAA;QACpE,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,gBAAgB,CAAsC,SAAS,CAAC,KAAK,EAAE;YAC7F,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;YACvB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;SACxE,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,eAAe,IAAI,cAAc,CAAC,SAAS,CAAA;QAC3D,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC;YACxC,KAAK;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;YAC5B,cAAc,CAAC,mBAAmB,GAAG,MAAM,CAAC,yBAAyB,EAAE;gBACrE,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC9B,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1C,cAAc,GAAG,MAAM,iBAAiB,CAAC;YACvC,cAAc;YACd,UAAU;YACV,SAAS,EAAE,aAAa;SACzB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
|
|
2
|
+
import { WalletCore } from '@trustwallet/wallet-core';
|
|
3
|
+
import { PublicKey } from '@trustwallet/wallet-core/dist/src/wallet-core';
|
|
4
|
+
import { KeysignLibType } from '../../mpcLib.js';
|
|
5
|
+
export type BuildLimitSwapCancelKeysignPayloadInput = {
|
|
6
|
+
/**
|
|
7
|
+
* The gas asset of the chain the order was FUNDED FROM — never the order's own
|
|
8
|
+
* asset. A cancel moves no tokens: it is a memo, carried by whatever the source
|
|
9
|
+
* chain charges to carry one. A BTC-funded order cancels with BTC; an
|
|
10
|
+
* ERC20-funded one cancels with ETH, not with the token.
|
|
11
|
+
*/
|
|
12
|
+
signingCoin: AccountCoin;
|
|
13
|
+
/** The `m=<` memo from `buildCancelLimitSwapMemo`. */
|
|
14
|
+
memo: string;
|
|
15
|
+
vaultId: string;
|
|
16
|
+
localPartyId: string;
|
|
17
|
+
publicKey: PublicKey;
|
|
18
|
+
libType: KeysignLibType;
|
|
19
|
+
walletCore: WalletCore;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Build the `KeysignPayload` that cancels a resting THORChain limit order.
|
|
23
|
+
*
|
|
24
|
+
* Two branches, decided by where the order was funded:
|
|
25
|
+
*
|
|
26
|
+
* - **THORChain source** (RUNE, and THORChain-held assets) — `MsgDeposit` from
|
|
27
|
+
* the vault's own THOR address. No inbound vault and no real destination, so
|
|
28
|
+
* `toAddress` carries the signer's own address as a placeholder (the Cosmos
|
|
29
|
+
* signer keys off `isDeposit`, not `toAddress`) and no value is attached.
|
|
30
|
+
* - **L1 source** — a plain transfer to the chain's Asgard inbound vault with the
|
|
31
|
+
* memo attached. The amount is dust from `getLimitSwapCancelDust`, present
|
|
32
|
+
* solely so Bifrost observes the transaction; it is not a payment, and the
|
|
33
|
+
* router is deliberately not involved even for an ERC20-funded order, because
|
|
34
|
+
* `depositWithExpiry` exists to move tokens and a cancel moves none.
|
|
35
|
+
*
|
|
36
|
+
* Fund-safety gates, all fail-closed — a cancel that is accepted but matches
|
|
37
|
+
* nothing is indistinguishable from success, so every unknown refuses:
|
|
38
|
+
*
|
|
39
|
+
* - The memo must actually CANCEL. `m=<` with a non-zero final field re-prices a
|
|
40
|
+
* resting order instead of closing it, and must not be signed by a function
|
|
41
|
+
* whose callers believe they are cancelling.
|
|
42
|
+
* - The signing coin's chain must be the chain the memo says funded the order.
|
|
43
|
+
* These arrive as independent parameters, so a caller reaching for "the
|
|
44
|
+
* vault's ETH coin" while holding a BTC-sourced memo would otherwise get a
|
|
45
|
+
* payload that broadcasts cleanly and is then refunded by THORChain's
|
|
46
|
+
* `From.IsChain(Source.Asset.GetChain())` check — a successful-looking
|
|
47
|
+
* transaction that cancels nothing.
|
|
48
|
+
* - The memo must fit the source chain's per-transaction budget. A cancel cannot
|
|
49
|
+
* be shortened — its amounts define the bucket and its assets skip
|
|
50
|
+
* `fuzzyAssetMatch` — so an over-long one has to be refused here rather than
|
|
51
|
+
* silently truncated into a memo addressing nothing.
|
|
52
|
+
* - A THORChain-sourced cancel is blocked on THORChain's global trading pause,
|
|
53
|
+
* including when the inbound list is unverifiable, exactly as placement is.
|
|
54
|
+
* - An L1 cancel must resolve a live, non-halted, non-paused inbound, and takes
|
|
55
|
+
* its destination from that same live view rather than a cache. A cancel sent
|
|
56
|
+
* to a churned-away vault is as lost as a placement would be.
|
|
57
|
+
*
|
|
58
|
+
* Note what is NOT gated: the `EnableAdvSwapQueue` mimir, which placement does
|
|
59
|
+
* re-check at sign time. That gate protects a NEW `=<` order from executing as an
|
|
60
|
+
* unprotected market swap — a risk a cancel does not carry. Refusing to close an
|
|
61
|
+
* already-resting order because the queue stopped accepting new ones would strand
|
|
62
|
+
* a position for the remainder of its TTL with no way out, which is the worse
|
|
63
|
+
* failure of the two.
|
|
64
|
+
*/
|
|
65
|
+
export declare const buildLimitSwapCancelKeysignPayload: ({ signingCoin, memo, vaultId, localPartyId, publicKey, libType, walletCore, }: BuildLimitSwapCancelKeysignPayloadInput) => Promise<import("../../types/vultisig/keysign/v1/keysign_message_pb.js").KeysignPayload>;
|
|
66
|
+
//# sourceMappingURL=buildLimitSwapCancelKeysignPayload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildLimitSwapCancelKeysignPayload.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapCancelKeysignPayload.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAWnE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C,MAAM,MAAM,uCAAuC,GAAG;IACpD;;;;;OAKG;IACH,WAAW,EAAE,WAAW,CAAA;IACxB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,kCAAkC,GAAU,+EAQtD,uCAAuC,yFAyGzC,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
2
|
+
import { create } from '@bufbuild/protobuf';
|
|
3
|
+
import { Chain } from '@vultisig/core-chain/Chain';
|
|
4
|
+
import { isChainOfKind } from '@vultisig/core-chain/ChainKind';
|
|
5
|
+
import { getThorchainInboundAddress } from '@vultisig/core-chain/chains/cosmos/thor/getThorchainInboundAddress';
|
|
6
|
+
import { isFeeCoin } from '@vultisig/core-chain/coin/utils/isFeeCoin';
|
|
7
|
+
import { getLimitSwapCancelDust } from '@vultisig/core-chain/swap/native/limitSwapCancelDust';
|
|
8
|
+
import { doesCancelLimitSwapMemoFit, isCancelLimitSwapMemo, isModifyLimitSwapMemo, parseCancelLimitSwapMemo, } from '@vultisig/core-chain/swap/native/limitSwapCancelMemo';
|
|
9
|
+
import { findLimitSwapInbound, shouldBlockRuneDeposit } from '@vultisig/core-chain/swap/native/limitSwapInbound';
|
|
10
|
+
import { getThorchainMemoAssetSourceChain } from '@vultisig/core-chain/swap/native/thorchainMemoAsset';
|
|
11
|
+
import { getChainSpecific } from '../chainSpecific/index.js';
|
|
12
|
+
import { refineKeysignUtxo } from '../refine/utxo.js';
|
|
13
|
+
import { getKeysignUtxoInfo } from '../utxo/getKeysignUtxoInfo.js';
|
|
14
|
+
import { toCommCoin } from '../../types/utils/commCoin.js';
|
|
15
|
+
import { KeysignPayloadSchema } from '../../types/vultisig/keysign/v1/keysign_message_pb.js';
|
|
16
|
+
/**
|
|
17
|
+
* Build the `KeysignPayload` that cancels a resting THORChain limit order.
|
|
18
|
+
*
|
|
19
|
+
* Two branches, decided by where the order was funded:
|
|
20
|
+
*
|
|
21
|
+
* - **THORChain source** (RUNE, and THORChain-held assets) — `MsgDeposit` from
|
|
22
|
+
* the vault's own THOR address. No inbound vault and no real destination, so
|
|
23
|
+
* `toAddress` carries the signer's own address as a placeholder (the Cosmos
|
|
24
|
+
* signer keys off `isDeposit`, not `toAddress`) and no value is attached.
|
|
25
|
+
* - **L1 source** — a plain transfer to the chain's Asgard inbound vault with the
|
|
26
|
+
* memo attached. The amount is dust from `getLimitSwapCancelDust`, present
|
|
27
|
+
* solely so Bifrost observes the transaction; it is not a payment, and the
|
|
28
|
+
* router is deliberately not involved even for an ERC20-funded order, because
|
|
29
|
+
* `depositWithExpiry` exists to move tokens and a cancel moves none.
|
|
30
|
+
*
|
|
31
|
+
* Fund-safety gates, all fail-closed — a cancel that is accepted but matches
|
|
32
|
+
* nothing is indistinguishable from success, so every unknown refuses:
|
|
33
|
+
*
|
|
34
|
+
* - The memo must actually CANCEL. `m=<` with a non-zero final field re-prices a
|
|
35
|
+
* resting order instead of closing it, and must not be signed by a function
|
|
36
|
+
* whose callers believe they are cancelling.
|
|
37
|
+
* - The signing coin's chain must be the chain the memo says funded the order.
|
|
38
|
+
* These arrive as independent parameters, so a caller reaching for "the
|
|
39
|
+
* vault's ETH coin" while holding a BTC-sourced memo would otherwise get a
|
|
40
|
+
* payload that broadcasts cleanly and is then refunded by THORChain's
|
|
41
|
+
* `From.IsChain(Source.Asset.GetChain())` check — a successful-looking
|
|
42
|
+
* transaction that cancels nothing.
|
|
43
|
+
* - The memo must fit the source chain's per-transaction budget. A cancel cannot
|
|
44
|
+
* be shortened — its amounts define the bucket and its assets skip
|
|
45
|
+
* `fuzzyAssetMatch` — so an over-long one has to be refused here rather than
|
|
46
|
+
* silently truncated into a memo addressing nothing.
|
|
47
|
+
* - A THORChain-sourced cancel is blocked on THORChain's global trading pause,
|
|
48
|
+
* including when the inbound list is unverifiable, exactly as placement is.
|
|
49
|
+
* - An L1 cancel must resolve a live, non-halted, non-paused inbound, and takes
|
|
50
|
+
* its destination from that same live view rather than a cache. A cancel sent
|
|
51
|
+
* to a churned-away vault is as lost as a placement would be.
|
|
52
|
+
*
|
|
53
|
+
* Note what is NOT gated: the `EnableAdvSwapQueue` mimir, which placement does
|
|
54
|
+
* re-check at sign time. That gate protects a NEW `=<` order from executing as an
|
|
55
|
+
* unprotected market swap — a risk a cancel does not carry. Refusing to close an
|
|
56
|
+
* already-resting order because the queue stopped accepting new ones would strand
|
|
57
|
+
* a position for the remainder of its TTL with no way out, which is the worse
|
|
58
|
+
* failure of the two.
|
|
59
|
+
*/
|
|
60
|
+
export const buildLimitSwapCancelKeysignPayload = async ({ signingCoin, memo, vaultId, localPartyId, publicKey, libType, walletCore, }) => {
|
|
61
|
+
if (!isCancelLimitSwapMemo(memo)) {
|
|
62
|
+
throw new Error(isModifyLimitSwapMemo(memo)
|
|
63
|
+
? `buildLimitSwapCancelKeysignPayload: memo re-targets a limit order rather than cancelling it: ${JSON.stringify(memo)}`
|
|
64
|
+
: `buildLimitSwapCancelKeysignPayload: memo is not a THORChain limit-order cancel: ${JSON.stringify(memo)}`);
|
|
65
|
+
}
|
|
66
|
+
// Both branches spend gas and move nothing, so a token here means the caller
|
|
67
|
+
// passed the order's own asset rather than the funding chain's gas asset —
|
|
68
|
+
// which on an EVM chain would build an ERC20 transfer that drops the memo.
|
|
69
|
+
if (!isFeeCoin(signingCoin)) {
|
|
70
|
+
throw new Error(`buildLimitSwapCancelKeysignPayload: a cancel must be signed with ${signingCoin.chain}'s gas asset, got ${signingCoin.ticker}`);
|
|
71
|
+
}
|
|
72
|
+
// The coin and the memo arrive as independent parameters, and nothing above
|
|
73
|
+
// ties them together — so a caller that reaches for "the vault's ETH coin"
|
|
74
|
+
// while holding a BTC-sourced memo gets a payload that builds, signs and
|
|
75
|
+
// broadcasts cleanly. THORChain then refuses it at
|
|
76
|
+
// `MsgModifyLimitSwap.ValidateBasic`, which requires
|
|
77
|
+
// `From.IsChain(Source.Asset.GetChain())`, and refunds: a successful-looking
|
|
78
|
+
// transaction that cancels nothing, which is precisely the failure every other
|
|
79
|
+
// gate here exists to prevent.
|
|
80
|
+
//
|
|
81
|
+
// Derived from the memo rather than cross-checked against a second parameter,
|
|
82
|
+
// so there is one authority for which chain sends, and `GetChain()` semantics
|
|
83
|
+
// rather than the asset's home chain — a secured or synth source is custodied
|
|
84
|
+
// on THORChain and must be sent from a THOR address even though it originates
|
|
85
|
+
// elsewhere.
|
|
86
|
+
const sourceChain = getThorchainMemoAssetSourceChain(parseCancelLimitSwapMemo(memo).sourceAsset);
|
|
87
|
+
if (sourceChain === undefined) {
|
|
88
|
+
throw new Error(`buildLimitSwapCancelKeysignPayload: cannot resolve which chain must send this cancel from its memo: ${JSON.stringify(memo)}`);
|
|
89
|
+
}
|
|
90
|
+
if (sourceChain !== signingCoin.chain) {
|
|
91
|
+
throw new Error(`buildLimitSwapCancelKeysignPayload: this order was funded on ${sourceChain}, so its cancel must be sent from ${sourceChain}, not ${signingCoin.chain}`);
|
|
92
|
+
}
|
|
93
|
+
const isThorchainSource = sourceChain === Chain.THORChain;
|
|
94
|
+
if (!doesCancelLimitSwapMemoFit(memo, isChainOfKind(signingCoin.chain, 'utxo') ? 'utxo' : 'other')) {
|
|
95
|
+
throw new Error(`buildLimitSwapCancelKeysignPayload: the cancel memo does not fit ${signingCoin.chain}'s memo budget: ${JSON.stringify(memo)}`);
|
|
96
|
+
}
|
|
97
|
+
const hexPublicKey = Buffer.from(publicKey.data()).toString('hex');
|
|
98
|
+
const inbounds = await getThorchainInboundAddress();
|
|
99
|
+
const { toAddress, amount } = (() => {
|
|
100
|
+
if (isThorchainSource) {
|
|
101
|
+
if (shouldBlockRuneDeposit(inbounds)) {
|
|
102
|
+
throw new Error('THORChain has globally paused trading (or its inbound list is unverifiable); refusing to sign a limit-order cancel');
|
|
103
|
+
}
|
|
104
|
+
// A MsgDeposit carries no value for a cancel — the memo is the whole
|
|
105
|
+
// instruction — and the Cosmos signer routes on `isDeposit`, not on this
|
|
106
|
+
// address.
|
|
107
|
+
return { toAddress: signingCoin.address, amount: 0n };
|
|
108
|
+
}
|
|
109
|
+
const inbound = findLimitSwapInbound({ inbounds, chain: signingCoin.chain });
|
|
110
|
+
return {
|
|
111
|
+
toAddress: inbound.address,
|
|
112
|
+
amount: getLimitSwapCancelDust({ inbound, decimals: signingCoin.decimals }),
|
|
113
|
+
};
|
|
114
|
+
})();
|
|
115
|
+
let keysignPayload = create(KeysignPayloadSchema, {
|
|
116
|
+
coin: toCommCoin({ ...signingCoin, hexPublicKey }),
|
|
117
|
+
toAmount: amount.toString(),
|
|
118
|
+
vaultLocalPartyId: localPartyId,
|
|
119
|
+
vaultPublicKeyEcdsa: vaultId,
|
|
120
|
+
libType,
|
|
121
|
+
toAddress,
|
|
122
|
+
memo,
|
|
123
|
+
utxoInfo: await getKeysignUtxoInfo(signingCoin),
|
|
124
|
+
});
|
|
125
|
+
keysignPayload.blockchainSpecific = await getChainSpecific({
|
|
126
|
+
keysignPayload,
|
|
127
|
+
walletCore,
|
|
128
|
+
isDeposit: isThorchainSource,
|
|
129
|
+
});
|
|
130
|
+
if (isChainOfKind(signingCoin.chain, 'utxo')) {
|
|
131
|
+
keysignPayload = await refineKeysignUtxo({
|
|
132
|
+
keysignPayload,
|
|
133
|
+
walletCore,
|
|
134
|
+
publicKey,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return keysignPayload;
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=buildLimitSwapCancelKeysignPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildLimitSwapCancelKeysignPayload.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/buildLimitSwapCancelKeysignPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Chain } from '@vultisig/core-chain/Chain';
|
|
2
|
+
import { ParsedLimitSwapCancelMemo } from '@vultisig/core-chain/swap/native/limitSwapCancelMemo';
|
|
3
|
+
import { KeysignPayload } from '../../types/vultisig/keysign/v1/keysign_message_pb.js';
|
|
4
|
+
export type KeysignLimitSwapCancel = ParsedLimitSwapCancelMemo & {
|
|
5
|
+
/** Home chain of the sold asset, when its prefix is one this SDK can route. */
|
|
6
|
+
sourceChain?: Chain;
|
|
7
|
+
/** Home chain of the bought asset, under the same caveat. */
|
|
8
|
+
targetChain?: Chain;
|
|
9
|
+
/** The order's deposited amount, as a decimal string in display units. */
|
|
10
|
+
sourceAmountDecimal: string;
|
|
11
|
+
/** The order's original minimum-received, as a decimal string in display units. */
|
|
12
|
+
tradeTargetDecimal: string;
|
|
13
|
+
/**
|
|
14
|
+
* The advanced-swap-queue bucket this cancel will address, reproduced from the
|
|
15
|
+
* memo. Two orders sharing it are not independently cancellable, so a reviewer
|
|
16
|
+
* holding the vault's open orders can tell whether this cancel is unambiguous.
|
|
17
|
+
*/
|
|
18
|
+
bucketKey: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Decode the limit order a keysign payload is about to CANCEL, for review.
|
|
22
|
+
*
|
|
23
|
+
* Returns `undefined` for any payload that is not a limit-order cancellation, so
|
|
24
|
+
* a caller can branch on it directly.
|
|
25
|
+
*
|
|
26
|
+
* **This is how a *joining* device reviews a cancellation.** A cancel carries no
|
|
27
|
+
* swap payload on any branch — it is a `MsgDeposit` or a dust transfer to an
|
|
28
|
+
* inbound vault — so a co-signer keying off the swap payload alone sees a send of
|
|
29
|
+
* a trivial amount to an opaque address with an opaque memo, with nothing saying
|
|
30
|
+
* an order is being closed. Worse than uninformative: the visible amount is dust,
|
|
31
|
+
* which reads as harmless while the transaction closes a position.
|
|
32
|
+
*
|
|
33
|
+
* As with placement, the terms come from `keysignPayload.memo` because the memo
|
|
34
|
+
* IS the instruction THORChain executes, so what a reviewer sees cannot disagree
|
|
35
|
+
* with what gets signed — unlike a display field supplied alongside it, which a
|
|
36
|
+
* co-signer has no way to verify.
|
|
37
|
+
*
|
|
38
|
+
* A *retarget* is deliberately not reported here. `m=<` with a non-zero final
|
|
39
|
+
* field re-prices an order rather than closing it, and a reviewer told "this
|
|
40
|
+
* cancels your order" would be approving something else entirely; the parser
|
|
41
|
+
* rejects it and this returns `undefined`.
|
|
42
|
+
*/
|
|
43
|
+
export declare const getKeysignLimitSwapCancel: ({ memo, }: Pick<KeysignPayload, "memo">) => KeysignLimitSwapCancel | undefined;
|
|
44
|
+
//# sourceMappingURL=getKeysignLimitSwapCancel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getKeysignLimitSwapCancel.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/getKeysignLimitSwapCancel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAGlD,OAAO,EAGL,yBAAyB,EAC1B,MAAM,sDAAsD,CAAA;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AAKnF,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAAG;IAC/D,+EAA+E;IAC/E,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,KAAK,CAAA;IACnB,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,yBAAyB,GAAI,WAEvC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,KAAG,sBAAsB,GAAG,SAoB1D,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { fromChainAmountDisplay } from '@vultisig/core-chain/amount/fromChainAmountExact';
|
|
2
|
+
import { Chain } from '@vultisig/core-chain/Chain';
|
|
3
|
+
import { chainFeeCoin } from '@vultisig/core-chain/coin/chainFeeCoin';
|
|
4
|
+
import { getThorchainLimitOrderBucketKey } from '@vultisig/core-chain/swap/native/limitSwapCancelBucket';
|
|
5
|
+
import { isModifyLimitSwapMemo, parseCancelLimitSwapMemo, } from '@vultisig/core-chain/swap/native/limitSwapCancelMemo';
|
|
6
|
+
import { getThorchainMemoAssetChain } from '@vultisig/core-chain/swap/native/thorchainMemoAsset';
|
|
7
|
+
import { attempt } from '@vultisig/lib-utils/attempt';
|
|
8
|
+
/** THORChain's fixed point, which both amounts in a cancel memo are expressed in. */
|
|
9
|
+
const thorchainDecimals = chainFeeCoin[Chain.THORChain].decimals;
|
|
10
|
+
/**
|
|
11
|
+
* Decode the limit order a keysign payload is about to CANCEL, for review.
|
|
12
|
+
*
|
|
13
|
+
* Returns `undefined` for any payload that is not a limit-order cancellation, so
|
|
14
|
+
* a caller can branch on it directly.
|
|
15
|
+
*
|
|
16
|
+
* **This is how a *joining* device reviews a cancellation.** A cancel carries no
|
|
17
|
+
* swap payload on any branch — it is a `MsgDeposit` or a dust transfer to an
|
|
18
|
+
* inbound vault — so a co-signer keying off the swap payload alone sees a send of
|
|
19
|
+
* a trivial amount to an opaque address with an opaque memo, with nothing saying
|
|
20
|
+
* an order is being closed. Worse than uninformative: the visible amount is dust,
|
|
21
|
+
* which reads as harmless while the transaction closes a position.
|
|
22
|
+
*
|
|
23
|
+
* As with placement, the terms come from `keysignPayload.memo` because the memo
|
|
24
|
+
* IS the instruction THORChain executes, so what a reviewer sees cannot disagree
|
|
25
|
+
* with what gets signed — unlike a display field supplied alongside it, which a
|
|
26
|
+
* co-signer has no way to verify.
|
|
27
|
+
*
|
|
28
|
+
* A *retarget* is deliberately not reported here. `m=<` with a non-zero final
|
|
29
|
+
* field re-prices an order rather than closing it, and a reviewer told "this
|
|
30
|
+
* cancels your order" would be approving something else entirely; the parser
|
|
31
|
+
* rejects it and this returns `undefined`.
|
|
32
|
+
*/
|
|
33
|
+
export const getKeysignLimitSwapCancel = ({ memo, }) => {
|
|
34
|
+
if (!isModifyLimitSwapMemo(memo) || !memo) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const parsed = attempt(() => parseCancelLimitSwapMemo(memo));
|
|
38
|
+
if ('error' in parsed) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const { data: cancel } = parsed;
|
|
42
|
+
return {
|
|
43
|
+
...cancel,
|
|
44
|
+
sourceChain: getThorchainMemoAssetChain(cancel.sourceAsset),
|
|
45
|
+
targetChain: getThorchainMemoAssetChain(cancel.targetAsset),
|
|
46
|
+
sourceAmountDecimal: fromChainAmountDisplay(cancel.sourceAmount, thorchainDecimals),
|
|
47
|
+
tradeTargetDecimal: fromChainAmountDisplay(cancel.tradeTarget, thorchainDecimals),
|
|
48
|
+
bucketKey: getThorchainLimitOrderBucketKey(cancel),
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=getKeysignLimitSwapCancel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getKeysignLimitSwapCancel.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/getKeysignLimitSwapCancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wDAAwD,CAAA;AACxG,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAIrD,qFAAqF;AACrF,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAA;AAmBhE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,IAAI,GACyB,EAAsC,EAAE;IACrE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE/B,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3D,WAAW,EAAE,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3D,mBAAmB,EAAE,sBAAsB,CAAC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;QACnF,kBAAkB,EAAE,sBAAsB,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC;QACjF,SAAS,EAAE,+BAA+B,CAAC,MAAM,CAAC;KACnD,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { KeysignPayload } from '@vultisig/core-mpc/types/vultisig/keysign/v1/keysign_message_pb';
|
|
2
|
+
/**
|
|
3
|
+
* Whether the payload's shape alone reads as a TrustSet, i.e. how every signer
|
|
4
|
+
* that predates `RippleSpecific.transaction_type` decides.
|
|
5
|
+
*
|
|
6
|
+
* This is what the builder uses to know it must set the field, and what the
|
|
7
|
+
* signer falls back to when the field is absent. Keeping one definition is the
|
|
8
|
+
* point: if the two drifted, a payload could be built as one operation and
|
|
9
|
+
* signed as the other.
|
|
10
|
+
*
|
|
11
|
+
* A verbatim dApp transaction (`signRipple`) is excluded — it is signed exactly
|
|
12
|
+
* as given and never rebuilt from the coin.
|
|
13
|
+
*/
|
|
14
|
+
export declare const hasRippleTrustSetShape: ({ signData, coin }: KeysignPayload) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether this Ripple payload describes a TrustSet — opening or modifying a
|
|
17
|
+
* trust line, where the keysign amount is the trust-line LIMIT — rather than a
|
|
18
|
+
* Payment that transfers the token.
|
|
19
|
+
*
|
|
20
|
+
* A non-native Ripple coin cannot say this on its own: the same
|
|
21
|
+
* `(currency, issuer)` pair means either operation, and the two produce
|
|
22
|
+
* different signed bytes. `RippleSpecific.transaction_type` states it
|
|
23
|
+
* explicitly, so it wins when present.
|
|
24
|
+
*
|
|
25
|
+
* The shape fallback is load-bearing for MPC byte-parity, not a convenience.
|
|
26
|
+
* Clients shipped before the field infer TrustSet from a non-native coin alone,
|
|
27
|
+
* so honouring that inference keeps a TrustSet byte-identical across a
|
|
28
|
+
* mixed-version committee. Dropping it would break every signer already in the
|
|
29
|
+
* field.
|
|
30
|
+
*/
|
|
31
|
+
export declare const isRippleTrustSet: (keysignPayload: KeysignPayload) => boolean;
|
|
32
|
+
//# sourceMappingURL=isRippleTrustSet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRippleTrustSet.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/utils/isRippleTrustSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAA;AAKhG;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,oBAAoB,cAAc,KAAG,OACe,CAAA;AAE3F;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,cAAc,KAAG,OAQjE,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TransactionType } from '../../types/vultisig/keysign/v1/blockchain_specific_pb.js';
|
|
2
|
+
import { getBlockchainSpecificValue } from '../chainSpecific/KeysignChainSpecific.js';
|
|
3
|
+
/**
|
|
4
|
+
* Whether the payload's shape alone reads as a TrustSet, i.e. how every signer
|
|
5
|
+
* that predates `RippleSpecific.transaction_type` decides.
|
|
6
|
+
*
|
|
7
|
+
* This is what the builder uses to know it must set the field, and what the
|
|
8
|
+
* signer falls back to when the field is absent. Keeping one definition is the
|
|
9
|
+
* point: if the two drifted, a payload could be built as one operation and
|
|
10
|
+
* signed as the other.
|
|
11
|
+
*
|
|
12
|
+
* A verbatim dApp transaction (`signRipple`) is excluded — it is signed exactly
|
|
13
|
+
* as given and never rebuilt from the coin.
|
|
14
|
+
*/
|
|
15
|
+
export const hasRippleTrustSetShape = ({ signData, coin }) => signData.case !== 'signRipple' && !!coin && !coin.isNativeToken && !!coin.contractAddress;
|
|
16
|
+
/**
|
|
17
|
+
* Whether this Ripple payload describes a TrustSet — opening or modifying a
|
|
18
|
+
* trust line, where the keysign amount is the trust-line LIMIT — rather than a
|
|
19
|
+
* Payment that transfers the token.
|
|
20
|
+
*
|
|
21
|
+
* A non-native Ripple coin cannot say this on its own: the same
|
|
22
|
+
* `(currency, issuer)` pair means either operation, and the two produce
|
|
23
|
+
* different signed bytes. `RippleSpecific.transaction_type` states it
|
|
24
|
+
* explicitly, so it wins when present.
|
|
25
|
+
*
|
|
26
|
+
* The shape fallback is load-bearing for MPC byte-parity, not a convenience.
|
|
27
|
+
* Clients shipped before the field infer TrustSet from a non-native coin alone,
|
|
28
|
+
* so honouring that inference keeps a TrustSet byte-identical across a
|
|
29
|
+
* mixed-version committee. Dropping it would break every signer already in the
|
|
30
|
+
* field.
|
|
31
|
+
*/
|
|
32
|
+
export const isRippleTrustSet = (keysignPayload) => {
|
|
33
|
+
const { transactionType } = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'rippleSpecific');
|
|
34
|
+
if (transactionType === TransactionType.RIPPLE_TRUST_SET) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
return hasRippleTrustSetShape(keysignPayload);
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=isRippleTrustSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isRippleTrustSet.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/utils/isRippleTrustSet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAA;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAA;AAElF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAkB,EAAW,EAAE,CACpF,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;AAE3F;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,cAA8B,EAAW,EAAE;IAC1E,MAAM,EAAE,eAAe,EAAE,GAAG,0BAA0B,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;IAE3G,IAAI,eAAe,KAAK,eAAe,CAAC,gBAAgB,EAAE,CAAC;QACzD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAC/C,CAAC,CAAA"}
|
|
@@ -407,6 +407,27 @@ export type RippleSpecific = Message<'vultisig.keysign.v1.RippleSpecific'> & {
|
|
|
407
407
|
* @generated from field: optional uint32 destination_tag = 4;
|
|
408
408
|
*/
|
|
409
409
|
destinationTag?: number;
|
|
410
|
+
/**
|
|
411
|
+
* Which XRPL operation this payload describes. Needed because a non-native
|
|
412
|
+
* Ripple coin is ambiguous on its own: the same (currency, issuer) pair can
|
|
413
|
+
* mean "open a trust line for this token" (TrustSet, where the keysign amount
|
|
414
|
+
* is the trust-line LIMIT) or "send this token" (Payment with a
|
|
415
|
+
* CurrencyAmount, where it is a transfer amount). Signers must not have to
|
|
416
|
+
* guess — the two produce different signed bytes.
|
|
417
|
+
*
|
|
418
|
+
* TRANSACTION_TYPE_RIPPLE_TRUST_SET selects the TrustSet. Unset (the proto3
|
|
419
|
+
* default TRANSACTION_TYPE_UNSPECIFIED, absent from the wire) keeps existing
|
|
420
|
+
* behaviour byte-identical: a native XRP Payment in drops, or — once every
|
|
421
|
+
* platform reads this field — an issued-currency Payment for a token coin.
|
|
422
|
+
*
|
|
423
|
+
* Transitional note: a signer that predates this field infers TrustSet from a
|
|
424
|
+
* non-native coin, so a TrustSet stays byte-identical across mixed-version
|
|
425
|
+
* committees, while a token Payment diverges and the ceremony fails without
|
|
426
|
+
* moving funds. Fail-safe by design, and resolved as platforms adopt.
|
|
427
|
+
*
|
|
428
|
+
* @generated from field: vultisig.keysign.v1.TransactionType transaction_type = 5;
|
|
429
|
+
*/
|
|
430
|
+
transactionType: TransactionType;
|
|
410
431
|
};
|
|
411
432
|
/**
|
|
412
433
|
* Describes the message vultisig.keysign.v1.RippleSpecific.
|
|
@@ -502,7 +523,16 @@ export declare enum TransactionType {
|
|
|
502
523
|
/**
|
|
503
524
|
* @generated from enum value: TRANSACTION_TYPE_QBTC_CLAIM_WITH_PROOF = 9;
|
|
504
525
|
*/
|
|
505
|
-
QBTC_CLAIM_WITH_PROOF = 9
|
|
526
|
+
QBTC_CLAIM_WITH_PROOF = 9,
|
|
527
|
+
/**
|
|
528
|
+
* XRPL TrustSet: open or modify a trust line for an issued currency, rather
|
|
529
|
+
* than pay it. The keysign amount is the trust-line limit, not a transfer
|
|
530
|
+
* amount. Required because an XRPL issued-currency coin alone cannot say
|
|
531
|
+
* which of the two operations was intended — see RippleSpecific.
|
|
532
|
+
*
|
|
533
|
+
* @generated from enum value: TRANSACTION_TYPE_RIPPLE_TRUST_SET = 10;
|
|
534
|
+
*/
|
|
535
|
+
RIPPLE_TRUST_SET = 10
|
|
506
536
|
}
|
|
507
537
|
/**
|
|
508
538
|
* Describes the enum vultisig.keysign.v1.TransactionType.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain_specific_pb.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/types/vultisig/keysign/v1/blockchain_specific_pb.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blockchain_specific_pb.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/types/vultisig/keysign/v1/blockchain_specific_pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { enumDesc, fileDesc, messageDesc } from '@bufbuild/protobuf/codegenv2';
|
|
|
7
7
|
*/
|
|
8
8
|
export const file_vultisig_keysign_v1_blockchain_specific =
|
|
9
9
|
/*@__PURE__*/
|
|
10
|
-
fileDesc('Ci12dWx0aXNpZy9rZXlzaWduL3YxL2Jsb2NrY2hhaW5fc3BlY2lmaWMucHJvdG8SE3Z1bHRpc2lnLmtleXNpZ24udjEiOQoMVVRYT1NwZWNpZmljEhAKCGJ5dGVfZmVlGAEgASgJEhcKD3NlbmRfbWF4X2Ftb3VudBgCIAEoCCJOChRDYXJkYW5vQ2hhaW5TcGVjaWZpYxIQCghieXRlX2ZlZRgBIAEoAxIXCg9zZW5kX21heF9hbW91bnQYAiABKAgSCwoDdHRsGAMgASgEImcKEEV0aGVyZXVtU3BlY2lmaWMSGwoTbWF4X2ZlZV9wZXJfZ2FzX3dlaRgBIAEoCRIUCgxwcmlvcml0eV9mZWUYAiABKAkSDQoFbm9uY2UYAyABKAMSEQoJZ2FzX2xpbWl0GAQgASgJIp4BChFUSE9SQ2hhaW5TcGVjaWZpYxIWCg5hY2NvdW50X251bWJlchgBIAEoBBIQCghzZXF1ZW5jZRgCIAEoBBILCgNmZWUYAyABKAQSEgoKaXNfZGVwb3NpdBgEIAEoCBI+
|
|
10
|
+
fileDesc('Ci12dWx0aXNpZy9rZXlzaWduL3YxL2Jsb2NrY2hhaW5fc3BlY2lmaWMucHJvdG8SE3Z1bHRpc2lnLmtleXNpZ24udjEiOQoMVVRYT1NwZWNpZmljEhAKCGJ5dGVfZmVlGAEgASgJEhcKD3NlbmRfbWF4X2Ftb3VudBgCIAEoCCJOChRDYXJkYW5vQ2hhaW5TcGVjaWZpYxIQCghieXRlX2ZlZRgBIAEoAxIXCg9zZW5kX21heF9hbW91bnQYAiABKAgSCwoDdHRsGAMgASgEImcKEEV0aGVyZXVtU3BlY2lmaWMSGwoTbWF4X2ZlZV9wZXJfZ2FzX3dlaRgBIAEoCRIUCgxwcmlvcml0eV9mZWUYAiABKAkSDQoFbm9uY2UYAyABKAMSEQoJZ2FzX2xpbWl0GAQgASgJIp4BChFUSE9SQ2hhaW5TcGVjaWZpYxIWCg5hY2NvdW50X251bWJlchgBIAEoBBIQCghzZXF1ZW5jZRgCIAEoBBILCgNmZWUYAyABKAQSEgoKaXNfZGVwb3NpdBgEIAEoCBI+ChB0cmFuc2FjdGlvbl90eXBlGAUgASgOMiQudnVsdGlzaWcua2V5c2lnbi52MS5UcmFuc2FjdGlvblR5cGUiUQoRTUFZQUNoYWluU3BlY2lmaWMSFgoOYWNjb3VudF9udW1iZXIYASABKAQSEAoIc2VxdWVuY2UYAiABKAQSEgoKaXNfZGVwb3NpdBgDIAEoCCLTAgoOQ29zbW9zU3BlY2lmaWMSFgoOYWNjb3VudF9udW1iZXIYASABKAQSEAoIc2VxdWVuY2UYAiABKAQSCwoDZ2FzGAMgASgEEj4KEHRyYW5zYWN0aW9uX3R5cGUYBCABKA4yJC52dWx0aXNpZy5rZXlzaWduLnYxLlRyYW5zYWN0aW9uVHlwZRJHChBpYmNfZGVub21fdHJhY2VzGAUgASgLMigudnVsdGlzaWcua2V5c2lnbi52MS5Db3Ntb3NJYmNEZW5vbVRyYWNlSACIAQESOQoIaWJjX2luZm8YBiABKAsyIi52dWx0aXNpZy5rZXlzaWduLnYxLkNvc21vc0liY0luZm9IAYgBARIWCglnYXNfbGltaXQYByABKARIAogBAUITChFfaWJjX2Rlbm9tX3RyYWNlc0ILCglfaWJjX2luZm9CDAoKX2dhc19saW1pdCJNChNDb3Ntb3NJYmNEZW5vbVRyYWNlEgwKBHBhdGgYASABKAkSEgoKYmFzZV9kZW5vbRgCIAEoCRIUCgxsYXRlc3RfYmxvY2sYAyABKAkibgoNQ29zbW9zSWJjSW5mbxITCgtzb3VyY2VfcG9ydBgBIAEoCRIWCg5zb3VyY2VfY2hhbm5lbBgCIAEoCRIXCg9yZXZpc2lvbl9udW1iZXIYAyABKAQSFwoPcmV2aXNpb25faGVpZ2h0GAQgASgEIq8CCg5Tb2xhbmFTcGVjaWZpYxIZChFyZWNlbnRfYmxvY2tfaGFzaBgBIAEoCRIUCgxwcmlvcml0eV9mZWUYAiABKAkSKgodZnJvbV90b2tlbl9hc3NvY2lhdGVkX2FkZHJlc3MYAyABKAlIAIgBARIoCht0b190b2tlbl9hc3NvY2lhdGVkX2FkZHJlc3MYBCABKAlIAYgBARIXCgpwcm9ncmFtX2lkGAUgASgISAKIAQESGgoNY29tcHV0ZV9saW1pdBgGIAEoCUgDiAEBQiAKHl9mcm9tX3Rva2VuX2Fzc29jaWF0ZWRfYWRkcmVzc0IeChxfdG9fdG9rZW5fYXNzb2NpYXRlZF9hZGRyZXNzQg0KC19wcm9ncmFtX2lkQhAKDl9jb21wdXRlX2xpbWl0IrABChBQb2xrYWRvdFNwZWNpZmljEhkKEXJlY2VudF9ibG9ja19oYXNoGAEgASgJEg0KBW5vbmNlGAIgASgEEhwKFGN1cnJlbnRfYmxvY2tfbnVtYmVyGAMgASgJEhQKDHNwZWNfdmVyc2lvbhgEIAEoDRIbChN0cmFuc2FjdGlvbl92ZXJzaW9uGAUgASgNEhQKDGdlbmVzaXNfaGFzaBgGIAEoCRILCgNnYXMYByABKAQihAEKB1N1aUNvaW4SEQoJY29pbl90eXBlGAEgASgJEhYKDmNvaW5fb2JqZWN0X2lkGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSDgoGZGlnZXN0GAQgASgJEg8KB2JhbGFuY2UYBSABKAkSHAoUcHJldmlvdXNfdHJhbnNhY3Rpb24YBiABKAkiawoLU3VpU3BlY2lmaWMSGwoTcmVmZXJlbmNlX2dhc19wcmljZRgBIAEoCRIrCgVjb2lucxgCIAMoCzIcLnZ1bHRpc2lnLmtleXNpZ24udjEuU3VpQ29pbhISCgpnYXNfYnVkZ2V0GAMgASgJIp0BCgtUb25TcGVjaWZpYxIXCg9zZXF1ZW5jZV9udW1iZXIYASABKAQSEQoJZXhwaXJlX2F0GAIgASgEEhIKCmJvdW5jZWFibGUYAyABKAgSFwoPc2VuZF9tYXhfYW1vdW50GAQgASgIEhYKDmpldHRvbl9hZGRyZXNzGAUgASgJEh0KFWlzX2FjdGl2ZV9kZXN0aW5hdGlvbhgGIAEoCCK/AQoOUmlwcGxlU3BlY2lmaWMSEAoIc2VxdWVuY2UYASABKAQSCwoDZ2FzGAIgASgEEhwKFGxhc3RfbGVkZ2VyX3NlcXVlbmNlGAMgASgEEhwKD2Rlc3RpbmF0aW9uX3RhZxgEIAEoDUgAiAEBEj4KEHRyYW5zYWN0aW9uX3R5cGUYBSABKA4yJC52dWx0aXNpZy5rZXlzaWduLnYxLlRyYW5zYWN0aW9uVHlwZUISChBfZGVzdGluYXRpb25fdGFnIpMCCgxUcm9uU3BlY2lmaWMSEQoJdGltZXN0YW1wGAEgASgEEhIKCmV4cGlyYXRpb24YAiABKAQSHgoWYmxvY2tfaGVhZGVyX3RpbWVzdGFtcBgDIAEoBBIbChNibG9ja19oZWFkZXJfbnVtYmVyGAQgASgEEhwKFGJsb2NrX2hlYWRlcl92ZXJzaW9uGAUgASgEEiEKGWJsb2NrX2hlYWRlcl90eF90cmllX3Jvb3QYBiABKAkSIAoYYmxvY2tfaGVhZGVyX3BhcmVudF9oYXNoGAcgASgJEiQKHGJsb2NrX2hlYWRlcl93aXRuZXNzX2FkZHJlc3MYCCABKAkSFgoOZ2FzX2VzdGltYXRpb24YCSABKAQqkwMKD1RyYW5zYWN0aW9uVHlwZRIgChxUUkFOU0FDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVVFJBTlNBQ1RJT05fVFlQRV9WT1RFEAESHQoZVFJBTlNBQ1RJT05fVFlQRV9QUk9QT1NBTBACEiEKHVRSQU5TQUNUSU9OX1RZUEVfSUJDX1RSQU5TRkVSEAMSHwobVFJBTlNBQ1RJT05fVFlQRV9USE9SX01FUkdFEAQSIQodVFJBTlNBQ1RJT05fVFlQRV9USE9SX1VOTUVSR0UQBRIgChxUUkFOU0FDVElPTl9UWVBFX1RPTl9ERVBPU0lUEAYSIQodVFJBTlNBQ1RJT05fVFlQRV9UT05fV0lUSERSQVcQBxIlCiFUUkFOU0FDVElPTl9UWVBFX0dFTkVSSUNfQ09OVFJBQ1QQCBIqCiZUUkFOU0FDVElPTl9UWVBFX1FCVENfQ0xBSU1fV0lUSF9QUk9PRhAJEiUKIVRSQU5TQUNUSU9OX1RZUEVfUklQUExFX1RSVVNUX1NFVBAKQlQKE3Z1bHRpc2lnLmtleXNpZ24udjFaOGdpdGh1Yi5jb20vdnVsdGlzaWcvY29tbW9uZGF0YS9nby92dWx0aXNpZy9rZXlzaWduL3YxO3YxugICVlNiBnByb3RvMw');
|
|
11
11
|
/**
|
|
12
12
|
* Describes the message vultisig.keysign.v1.UTXOSpecific.
|
|
13
13
|
* Use `create(UTXOSpecificSchema)` to create a new message.
|
|
@@ -158,6 +158,15 @@ export var TransactionType;
|
|
|
158
158
|
* @generated from enum value: TRANSACTION_TYPE_QBTC_CLAIM_WITH_PROOF = 9;
|
|
159
159
|
*/
|
|
160
160
|
TransactionType[TransactionType["QBTC_CLAIM_WITH_PROOF"] = 9] = "QBTC_CLAIM_WITH_PROOF";
|
|
161
|
+
/**
|
|
162
|
+
* XRPL TrustSet: open or modify a trust line for an issued currency, rather
|
|
163
|
+
* than pay it. The keysign amount is the trust-line limit, not a transfer
|
|
164
|
+
* amount. Required because an XRPL issued-currency coin alone cannot say
|
|
165
|
+
* which of the two operations was intended — see RippleSpecific.
|
|
166
|
+
*
|
|
167
|
+
* @generated from enum value: TRANSACTION_TYPE_RIPPLE_TRUST_SET = 10;
|
|
168
|
+
*/
|
|
169
|
+
TransactionType[TransactionType["RIPPLE_TRUST_SET"] = 10] = "RIPPLE_TRUST_SET";
|
|
161
170
|
})(TransactionType || (TransactionType = {}));
|
|
162
171
|
/**
|
|
163
172
|
* Describes the enum vultisig.keysign.v1.TransactionType.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain_specific_pb.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/types/vultisig/keysign/v1/blockchain_specific_pb.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,kHAAkH;AAClH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG9E;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C;AACvD,aAAa;AACb,QAAQ,CACN,
|
|
1
|
+
{"version":3,"file":"blockchain_specific_pb.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/types/vultisig/keysign/v1/blockchain_specific_pb.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vultisig/core-mpc",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "MPC, keysign, and vault types shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -591,6 +591,11 @@
|
|
|
591
591
|
"import": "./dist/keysign/swap/build.js",
|
|
592
592
|
"default": "./dist/keysign/swap/build.js"
|
|
593
593
|
},
|
|
594
|
+
"./keysign/swap/buildLimitSwapCancelKeysignPayload": {
|
|
595
|
+
"types": "./dist/keysign/swap/buildLimitSwapCancelKeysignPayload.d.ts",
|
|
596
|
+
"import": "./dist/keysign/swap/buildLimitSwapCancelKeysignPayload.js",
|
|
597
|
+
"default": "./dist/keysign/swap/buildLimitSwapCancelKeysignPayload.js"
|
|
598
|
+
},
|
|
594
599
|
"./keysign/swap/buildLimitSwapKeysignPayload": {
|
|
595
600
|
"types": "./dist/keysign/swap/buildLimitSwapKeysignPayload.d.ts",
|
|
596
601
|
"import": "./dist/keysign/swap/buildLimitSwapKeysignPayload.js",
|
|
@@ -601,6 +606,11 @@
|
|
|
601
606
|
"import": "./dist/keysign/swap/cowswap/buildCowSwapApprovalSigningInput.js",
|
|
602
607
|
"default": "./dist/keysign/swap/cowswap/buildCowSwapApprovalSigningInput.js"
|
|
603
608
|
},
|
|
609
|
+
"./keysign/swap/getKeysignLimitSwapCancel": {
|
|
610
|
+
"types": "./dist/keysign/swap/getKeysignLimitSwapCancel.d.ts",
|
|
611
|
+
"import": "./dist/keysign/swap/getKeysignLimitSwapCancel.js",
|
|
612
|
+
"default": "./dist/keysign/swap/getKeysignLimitSwapCancel.js"
|
|
613
|
+
},
|
|
604
614
|
"./keysign/swap/getKeysignLimitSwapOrder": {
|
|
605
615
|
"types": "./dist/keysign/swap/getKeysignLimitSwapOrder.d.ts",
|
|
606
616
|
"import": "./dist/keysign/swap/getKeysignLimitSwapOrder.js",
|
|
@@ -656,6 +666,11 @@
|
|
|
656
666
|
"import": "./dist/keysign/utils/getKeysignCoin.js",
|
|
657
667
|
"default": "./dist/keysign/utils/getKeysignCoin.js"
|
|
658
668
|
},
|
|
669
|
+
"./keysign/utils/isRippleTrustSet": {
|
|
670
|
+
"types": "./dist/keysign/utils/isRippleTrustSet.d.ts",
|
|
671
|
+
"import": "./dist/keysign/utils/isRippleTrustSet.js",
|
|
672
|
+
"default": "./dist/keysign/utils/isRippleTrustSet.js"
|
|
673
|
+
},
|
|
659
674
|
"./keysign/utils/resolvePolkadotToAddress": {
|
|
660
675
|
"types": "./dist/keysign/utils/resolvePolkadotToAddress.d.ts",
|
|
661
676
|
"import": "./dist/keysign/utils/resolvePolkadotToAddress.js",
|
|
@@ -1079,7 +1094,7 @@
|
|
|
1079
1094
|
"@noble/hashes": "^1.8.0",
|
|
1080
1095
|
"@solana/web3.js": "^1.98.4",
|
|
1081
1096
|
"@trustwallet/wallet-core": "^4.7.0",
|
|
1082
|
-
"@vultisig/core-chain": "2.
|
|
1097
|
+
"@vultisig/core-chain": "2.33.0",
|
|
1083
1098
|
"@vultisig/core-config": "0.9.1",
|
|
1084
1099
|
"@vultisig/lib-dkls": "0.9.0",
|
|
1085
1100
|
"@vultisig/lib-mldsa": "0.9.0",
|