@vultisig/core-mpc 1.8.15 → 1.8.17
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 +26 -0
- package/dist/keysign/chainSpecific/resolvers/cardano.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/cardano.js +6 -4
- package/dist/keysign/chainSpecific/resolvers/cardano.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/index.js +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/index.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cardano.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cardano.js +6 -0
- package/dist/keysign/signingInputs/resolvers/cardano.js.map +1 -1
- package/dist/tx/compile/cardano/buildCip20AuxData.d.ts +0 -17
- package/dist/tx/compile/cardano/buildCip20AuxData.d.ts.map +1 -1
- package/dist/tx/compile/cardano/buildCip20AuxData.js +1 -50
- package/dist/tx/compile/cardano/buildCip20AuxData.js.map +1 -1
- package/dist/tx/compile/compileTx.d.ts.map +1 -1
- package/dist/tx/compile/compileTx.js +10 -13
- package/dist/tx/compile/compileTx.js.map +1 -1
- package/dist/tx/preSigningHashes/index.d.ts.map +1 -1
- package/dist/tx/preSigningHashes/index.js +0 -11
- package/dist/tx/preSigningHashes/index.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @vultisig/core-mpc
|
|
2
2
|
|
|
3
|
+
## 1.8.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#923](https://github.com/vultisig/vultisig-sdk/pull/923) [`17a43be`](https://github.com/vultisig/vultisig-sdk/commit/17a43beadda6d3f4f7d97c193067564a2c85bd37) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Fetch Solana signing blockhashes at confirmed commitment and retry transient blockhash misses during standard RPC broadcast.
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`66113c2`](https://github.com/vultisig/vultisig-sdk/commit/66113c2fb2ff61ecda39a7ae5ac83e8c7cd67adc), [`45fb0ae`](https://github.com/vultisig/vultisig-sdk/commit/45fb0ae83611dfcd481b1aa9dbcd19fe215642f5), [`17a43be`](https://github.com/vultisig/vultisig-sdk/commit/17a43beadda6d3f4f7d97c193067564a2c85bd37), [`e11d55f`](https://github.com/vultisig/vultisig-sdk/commit/e11d55f51dc4a65230ca4daa6bbad2580a3d1a81), [`6ff9d7e`](https://github.com/vultisig/vultisig-sdk/commit/6ff9d7eba5699e1db897c5aedbac52632c131cc5)]:
|
|
10
|
+
- @vultisig/core-chain@2.23.0
|
|
11
|
+
|
|
12
|
+
## 1.8.16
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#921](https://github.com/vultisig/vultisig-sdk/pull/921) [`6eff99f`](https://github.com/vultisig/vultisig-sdk/commit/6eff99fa08f0d2511eab95304c0a0c973944db2e) Thanks [@gomesalexandre](https://github.com/gomesalexandre)! - refactor(cardano): attach CIP-20 memo via WalletCore native auxiliary_data
|
|
17
|
+
|
|
18
|
+
Bumps `@trustwallet/wallet-core` to `4.7.0`, which adds the Cardano
|
|
19
|
+
`SigningInput.auxiliary_data` field. The Cardano memo path now hands the
|
|
20
|
+
CIP-20 CBOR straight to WalletCore, which commits its Blake2b-256 hash into
|
|
21
|
+
tx body key 7 and embeds the bytes in the signed transaction — replacing the
|
|
22
|
+
client-side body patching and re-hashing in TypeScript. The chain-specific
|
|
23
|
+
fee estimator prices the WalletCore body as-is (it already carries key 7),
|
|
24
|
+
and the now-unused `patchTxBodyWithAuxHash` helper is removed.
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [[`6eff99f`](https://github.com/vultisig/vultisig-sdk/commit/6eff99fa08f0d2511eab95304c0a0c973944db2e), [`d08a476`](https://github.com/vultisig/vultisig-sdk/commit/d08a47696d0cb1c8dbcb50d41830b9eae16b6d8c)]:
|
|
27
|
+
- @vultisig/core-chain@2.22.2
|
|
28
|
+
|
|
3
29
|
## 1.8.15
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/cardano.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/cardano.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAiEtD,eAAO,MAAM,uBAAuB,EAAE,wBAAwB,CAAC,SAAS,CAiBvE,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { CardanoChainSpecificSchema } from '@vultisig/core-mpc/types/vultisig/ke
|
|
|
8
8
|
import { bigIntSum } from '@vultisig/lib-utils/bigint/bigIntSum';
|
|
9
9
|
import { TW } from '@trustwallet/wallet-core';
|
|
10
10
|
import { getCardanoSigningInputs } from '../../signingInputs/resolvers/cardano.js';
|
|
11
|
-
import { buildCip20AuxData
|
|
11
|
+
import { buildCip20AuxData } from '../../../tx/compile/cardano/buildCip20AuxData.js';
|
|
12
12
|
import { getKeysignAmount } from '../../utils/getKeysignAmount.js';
|
|
13
13
|
// Cardano fee formula: fee = a * txBytes + b (mainnet params)
|
|
14
14
|
const CARDANO_A_PARAM = 44n;
|
|
@@ -21,9 +21,11 @@ const getCardanoPricedSize = ({ txBodyCbor, memo }) => {
|
|
|
21
21
|
if (!memo) {
|
|
22
22
|
return txBodyCbor.length + CARDANO_SIGNED_TX_ENVELOPE_SIZE + 1;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
// With native auxiliary_data, the WalletCore-produced body already commits
|
|
25
|
+
// the aux hash at key 7, so price it as-is and add the aux-data bytes that
|
|
26
|
+
// land as signed-tx element [3].
|
|
27
|
+
const { auxDataCbor } = buildCip20AuxData(memo);
|
|
28
|
+
return txBodyCbor.length + CARDANO_SIGNED_TX_ENVELOPE_SIZE + auxDataCbor.length;
|
|
27
29
|
};
|
|
28
30
|
const estimateCardanoByteFee = async ({ keysignPayload, walletCore, ttl, sendMaxAmount, }) => {
|
|
29
31
|
let byteFee = BigInt(cardanoDefaultFee);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAA;AAChH,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAChE,OAAO,EAAE,EAAE,EAAmB,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAE/E,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAA;AAChH,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAChE,OAAO,EAAE,EAAE,EAAmB,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAG/D,8DAA8D;AAC9D,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,eAAe,GAAG,OAAQ,CAAA;AAChC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AACtC,mFAAmF;AACnF,MAAM,6BAA6B,GAAG,GAAG,CAAA;AACzC,MAAM,+BAA+B,GAAG,CAAC,GAAG,6BAA6B,GAAG,CAAC,CAAA;AAS7E,MAAM,oBAAoB,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAA6C,EAAE,EAAE;IAC/F,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,UAAU,CAAC,MAAM,GAAG,+BAA+B,GAAG,CAAC,CAAA;IAChE,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,iCAAiC;IACjC,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAE/C,OAAO,UAAU,CAAC,MAAM,GAAG,+BAA+B,GAAG,WAAW,CAAC,MAAM,CAAA;AACjF,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,KAAK,EAAE,EACpC,cAAc,EACd,UAAU,EACV,GAAG,EACH,aAAa,GACe,EAAE,EAAE;IAChC,IAAI,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,4BAA4B,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,uBAAuB,CAAC;YACnD,cAAc,EAAE;gBACd,GAAG,cAAc;gBACjB,kBAAkB,EAAE;oBAClB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;iBAC3E;aACF;YACD,UAAU;SACX,CAAC,CAAA;QACF,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;QAC/E,MAAM,SAAS,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACxF,MAAM,WAAW,GACf,eAAe,GAAG,MAAM,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YACzG,eAAe,CAAA;QAEjB,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO,GAAG,WAAW,CAAA;IACvB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAwC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE;IACnH,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;IAE/C,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAA;IACjD,MAAM,GAAG,GAAG,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAEnD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;IACxC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;IAEzD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAA;IAEhG,OAAO,MAAM,CAAC,0BAA0B,EAAE;QACxC,GAAG;QACH,aAAa;QACb,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -16,7 +16,7 @@ export const getSolanaChainSpecific = async ({ keysignPayload }) => {
|
|
|
16
16
|
// fee. Treat empty as "no specific recipient" instead of throwing.
|
|
17
17
|
const receiver = keysignPayload.toAddress || undefined;
|
|
18
18
|
const client = getSolanaClient();
|
|
19
|
-
const recentBlockHash = (await client.getLatestBlockhash()).blockhash;
|
|
19
|
+
const recentBlockHash = (await client.getLatestBlockhash('confirmed')).blockhash;
|
|
20
20
|
const chainSpecific = create(SolanaSpecificSchema, {
|
|
21
21
|
recentBlockHash,
|
|
22
22
|
computeLimit: solanaConfig.priorityFeeLimit.toString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/solana/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+DAA+D,CAAA;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAA;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,MAAM,CAAC,MAAM,sBAAsB,GAA+C,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;IAC7G,MAAM,IAAI,GAAG,cAAc,CAAoB,cAAc,CAAC,CAAA;IAC9D,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,IAAI,SAAS,CAAA;IACtD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,MAAM,eAAe,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/chainSpecific/resolvers/solana/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,+DAA+D,CAAA;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAA;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAA;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAA;AAC1G,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,MAAM,CAAC,MAAM,sBAAsB,GAA+C,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;IAC7G,MAAM,IAAI,GAAG,cAAc,CAAoB,cAAc,CAAC,CAAA;IAC9D,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,IAAI,SAAS,CAAA;IACtD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,MAAM,eAAe,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhF,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,EAAE;QACjD,eAAe;QACf,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE;KACvD,CAAC,CAAA;IAEF,oEAAoE;IACpE,qEAAqE;IACrE,iEAAiE;IACjE,gCAAgC;IAChC,EAAE;IACF,kEAAkE;IAClE,+DAA+D;IAC/D,wDAAwD;IACxD,2EAA2E;IAC3E,MAAM,gBAAgB,GAAgB,EAAE,CAAA;IAExC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,EAAE;SACf,CAAC,CAAA;QACF,aAAa,CAAC,0BAA0B,GAAG,WAAW,CAAC,OAAO,CAAA;QAC9D,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,WAAW,CAAA;QACjD,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QAEzD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAC5B,uBAAuB,CAAC;gBACtB,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CACH,CAAA;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,aAAa,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAA;gBACrD,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,gBAAgB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,YAAY,CACzC,OAAO,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC,EACrD,YAAY,CAAC,gBAAgB,CAC9B,CAAA;IAED,aAAa,CAAC,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IAEvD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AASnD,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,SAAS,CAoDpE,CAAA"}
|
|
@@ -5,6 +5,7 @@ import { stripHexPrefix } from '@vultisig/lib-utils/hex/stripHexPrefix';
|
|
|
5
5
|
import { TW } from '@trustwallet/wallet-core';
|
|
6
6
|
import Long from 'long';
|
|
7
7
|
import { getBlockchainSpecificValue } from '../../chainSpecific/KeysignChainSpecific.js';
|
|
8
|
+
import { buildCip20AuxData } from '../../../tx/compile/cardano/buildCip20AuxData.js';
|
|
8
9
|
/** Encodes a token amount as big-endian bytes for WalletCore's Cardano proto. */
|
|
9
10
|
const amountToBytes = (amount) => {
|
|
10
11
|
const hex = amount.toString(16);
|
|
@@ -15,6 +16,10 @@ export const getCardanoSigningInputs = ({ keysignPayload, walletCore }) => {
|
|
|
15
16
|
const { sendMaxAmount, ttl, byteFee } = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'cardano');
|
|
16
17
|
const coin = shouldBePresent(keysignPayload.coin);
|
|
17
18
|
const isTokenSend = coin.contractAddress !== '';
|
|
19
|
+
// CIP-20 memo: hand the already-CBOR-encoded auxiliary data to WalletCore,
|
|
20
|
+
// which commits its Blake2b-256 hash into the tx body (key 7) and embeds the
|
|
21
|
+
// bytes in the signed transaction. No client-side body patching needed.
|
|
22
|
+
const auxiliaryData = keysignPayload.memo ? buildCip20AuxData(keysignPayload.memo).auxDataCbor : undefined;
|
|
18
23
|
const tokenBundle = isTokenSend
|
|
19
24
|
? (() => {
|
|
20
25
|
const { policyId, assetName } = fromCardanoAssetId(coin.contractAddress);
|
|
@@ -39,6 +44,7 @@ export const getCardanoSigningInputs = ({ keysignPayload, walletCore }) => {
|
|
|
39
44
|
forceFee: Long.fromString(byteFee.toString()),
|
|
40
45
|
}),
|
|
41
46
|
ttl: Long.fromString(ttl.toString()),
|
|
47
|
+
auxiliaryData,
|
|
42
48
|
utxos: keysignPayload.utxoInfo.map(({ hash, amount, index }) => TW.Cardano.Proto.TxInput.create({
|
|
43
49
|
outPoint: TW.Cardano.Proto.OutPoint.create({
|
|
44
50
|
txHash: walletCore.HexCoding.decode(stripHexPrefix(hash)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,21 +31,4 @@ export declare function buildCip20AuxData(memo: string): {
|
|
|
31
31
|
auxDataCbor: Uint8Array;
|
|
32
32
|
auxDataHash: Uint8Array;
|
|
33
33
|
};
|
|
34
|
-
/**
|
|
35
|
-
* Re-emit a WalletCore-produced CBOR tx body with an `auxiliary_data_hash`
|
|
36
|
-
* entry (CBOR map key 7) appended.
|
|
37
|
-
*
|
|
38
|
-
* WalletCore emits the tx body as a CBOR map. We avoid a full decode/encode
|
|
39
|
-
* round-trip (which could alter key ordering or integer widths and invalidate
|
|
40
|
-
* the MPC signature) by:
|
|
41
|
-
* 1. Reading the initial CBOR map header byte to extract the current count.
|
|
42
|
-
* 2. Re-emitting the header byte(s) with count+1.
|
|
43
|
-
* 3. Concatenating the original body bytes after the header.
|
|
44
|
-
* 4. Appending `cborUint(7)` + `cborBytes(auxDataHash)`.
|
|
45
|
-
*
|
|
46
|
-
* This works as long as WalletCore never produces a body map with > 23
|
|
47
|
-
* entries (i.e. the count fits in the CBOR one-byte "additional info" form),
|
|
48
|
-
* which is true in practice — current Cardano tx bodies have at most 9 keys.
|
|
49
|
-
*/
|
|
50
|
-
export declare function patchTxBodyWithAuxHash(txBodyCbor: Uint8Array, auxDataHash: Uint8Array): Uint8Array;
|
|
51
34
|
//# sourceMappingURL=buildCip20AuxData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCip20AuxData.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildCip20AuxData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildCip20AuxData.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildCip20AuxData.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA+BnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,WAAW,EAAE,UAAU,CAAA;IACvB,WAAW,EAAE,UAAU,CAAA;CACxB,CAOA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { blake2b } from '@noble/hashes/blake2b';
|
|
2
|
-
import { cborArray,
|
|
2
|
+
import { cborArray, cborMap, cborText, cborUint } from '@vultisig/core-chain/chains/cardano/cip30/cardanoCborPrimitives';
|
|
3
3
|
/** CIP-20 limits each metadata text chunk to 64 UTF-8 bytes. */
|
|
4
4
|
const MAX_CHUNK_BYTES = 64;
|
|
5
5
|
/**
|
|
@@ -68,53 +68,4 @@ export function buildCip20AuxData(memo) {
|
|
|
68
68
|
const auxDataHash = blake2b(auxDataCbor, { dkLen: 32 });
|
|
69
69
|
return { auxDataCbor, auxDataHash };
|
|
70
70
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Re-emit a WalletCore-produced CBOR tx body with an `auxiliary_data_hash`
|
|
73
|
-
* entry (CBOR map key 7) appended.
|
|
74
|
-
*
|
|
75
|
-
* WalletCore emits the tx body as a CBOR map. We avoid a full decode/encode
|
|
76
|
-
* round-trip (which could alter key ordering or integer widths and invalidate
|
|
77
|
-
* the MPC signature) by:
|
|
78
|
-
* 1. Reading the initial CBOR map header byte to extract the current count.
|
|
79
|
-
* 2. Re-emitting the header byte(s) with count+1.
|
|
80
|
-
* 3. Concatenating the original body bytes after the header.
|
|
81
|
-
* 4. Appending `cborUint(7)` + `cborBytes(auxDataHash)`.
|
|
82
|
-
*
|
|
83
|
-
* This works as long as WalletCore never produces a body map with > 23
|
|
84
|
-
* entries (i.e. the count fits in the CBOR one-byte "additional info" form),
|
|
85
|
-
* which is true in practice — current Cardano tx bodies have at most 9 keys.
|
|
86
|
-
*/
|
|
87
|
-
export function patchTxBodyWithAuxHash(txBodyCbor, auxDataHash) {
|
|
88
|
-
if (txBodyCbor.length === 0) {
|
|
89
|
-
throw new Error('patchTxBodyWithAuxHash: empty txBodyCbor');
|
|
90
|
-
}
|
|
91
|
-
const firstByte = txBodyCbor[0];
|
|
92
|
-
const majorType = firstByte >> 5;
|
|
93
|
-
if (majorType !== 5) {
|
|
94
|
-
throw new Error(`patchTxBodyWithAuxHash: expected CBOR map (major type 5), got major type ${majorType}`);
|
|
95
|
-
}
|
|
96
|
-
const additionalInfo = firstByte & 0x1f;
|
|
97
|
-
if (additionalInfo >= 24) {
|
|
98
|
-
// Multi-byte map count — would require a more complex header rewrite.
|
|
99
|
-
// In practice Cardano tx bodies never exceed 23 entries.
|
|
100
|
-
throw new Error(`patchTxBodyWithAuxHash: map header uses additional info ${additionalInfo}; only direct-count maps (< 24 entries) are supported`);
|
|
101
|
-
}
|
|
102
|
-
const oldCount = additionalInfo;
|
|
103
|
-
const newCount = oldCount + 1;
|
|
104
|
-
if (newCount >= 24) {
|
|
105
|
-
throw new Error(`patchTxBodyWithAuxHash: cannot increment map count to ${newCount} (would overflow into two-byte header)`);
|
|
106
|
-
}
|
|
107
|
-
const newHeader = new Uint8Array([(5 << 5) | newCount]);
|
|
108
|
-
const bodyAfterHeader = txBodyCbor.slice(1);
|
|
109
|
-
const auxHashEntry = new Uint8Array([...cborUint(7), ...cborBytes(auxDataHash)]);
|
|
110
|
-
const totalLen = newHeader.length + bodyAfterHeader.length + auxHashEntry.length;
|
|
111
|
-
const out = new Uint8Array(totalLen);
|
|
112
|
-
let offset = 0;
|
|
113
|
-
out.set(newHeader, offset);
|
|
114
|
-
offset += newHeader.length;
|
|
115
|
-
out.set(bodyAfterHeader, offset);
|
|
116
|
-
offset += bodyAfterHeader.length;
|
|
117
|
-
out.set(auxHashEntry, offset);
|
|
118
|
-
return out;
|
|
119
|
-
}
|
|
120
71
|
//# sourceMappingURL=buildCip20AuxData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCip20AuxData.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildCip20AuxData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"buildCip20AuxData.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildCip20AuxData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iEAAiE,CAAA;AAExH,gEAAgE;AAChE,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IACnC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IAEjC,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAEzD,oEAAoE;QACpE,kEAAkE;QAClE,qEAAqE;QACrE,UAAU;QACV,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,GAAG,EAAE,CAAA;YACP,CAAC;YACD,iEAAiE;YACjE,gEAAgE;YAChE,mEAAmE;YACnE,mDAAmD;YACnD,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QACpD,KAAK,GAAG,GAAG,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAI5C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileTx.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAM,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAEzE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAWlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAwB,MAAM,oDAAoD,CAAA;AAMzG,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,EAAE,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,+FAOvB,KAAK,
|
|
1
|
+
{"version":3,"file":"compileTx.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAM,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAEzE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAWlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAwB,MAAM,oDAAoD,CAAA;AAMzG,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,WAAW,EAAE,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;IACtB,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,+FAOvB,KAAK,gCAsJP,CAAA"}
|
|
@@ -8,7 +8,7 @@ import { getCoinType } from '@vultisig/core-chain/coin/coinType';
|
|
|
8
8
|
import { signatureFormats } from '@vultisig/core-chain/signing/SignatureFormat';
|
|
9
9
|
import { assertSignature } from '@vultisig/core-chain/utils/assertSignature';
|
|
10
10
|
import { getQBTCSignedTransaction } from '../../chains/cosmos/qbtc/QBTCHelper.js';
|
|
11
|
-
import { buildCip20AuxData
|
|
11
|
+
import { buildCip20AuxData } from './cardano/buildCip20AuxData.js';
|
|
12
12
|
import { buildSignedCardanoTx } from './cardano/buildSignedCardanoTx.js';
|
|
13
13
|
import { getBlockchainSpecificValue } from '../../keysign/chainSpecific/KeysignChainSpecific.js';
|
|
14
14
|
import { decodeBittensorTxInput } from '../../keysign/signingInputs/resolvers/bittensor.js';
|
|
@@ -75,9 +75,10 @@ export const compileTx = ({ publicKey, txInputData, signatures: keysignSignature
|
|
|
75
75
|
})).finish();
|
|
76
76
|
}
|
|
77
77
|
if (chain === Chain.Cardano) {
|
|
78
|
-
// hashes[0] is blake2b-256 of the tx body. When a memo is set,
|
|
79
|
-
//
|
|
80
|
-
//
|
|
78
|
+
// hashes[0] is blake2b-256 of the tx body. When a memo is set, WalletCore
|
|
79
|
+
// already committed the aux_data_hash into the body (key 7) from
|
|
80
|
+
// SigningInput.auxiliary_data, so the signing and compile phases agree on
|
|
81
|
+
// the same bytes without any client-side patching.
|
|
81
82
|
const hash = hashes[0];
|
|
82
83
|
const hashHex = Buffer.from(hash).toString('hex');
|
|
83
84
|
const sig = generateSignature({
|
|
@@ -91,17 +92,13 @@ export const compileTx = ({ publicKey, txInputData, signatures: keysignSignature
|
|
|
91
92
|
signature: sig,
|
|
92
93
|
signatureFormat,
|
|
93
94
|
});
|
|
94
|
-
// Re-derive the tx body
|
|
95
|
-
// the
|
|
95
|
+
// Re-derive the tx body to wrap it with the witness set. WalletCore already
|
|
96
|
+
// committed the aux_data_hash into this body when a memo was set, so it is
|
|
97
|
+
// used as-is; the matching aux-data bytes go into element [3] of the tx.
|
|
96
98
|
const preOutput = TW.TxCompiler.Proto.PreSigningOutput.decode(walletCore.TransactionCompiler.preImageHashes(getCoinType({ chain, walletCore }), txInputData));
|
|
97
99
|
const memo = keysignPayload?.memo;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (memo) {
|
|
101
|
-
const cip20 = buildCip20AuxData(memo);
|
|
102
|
-
auxDataCbor = cip20.auxDataCbor;
|
|
103
|
-
txBodyCbor = patchTxBodyWithAuxHash(txBodyCbor, cip20.auxDataHash);
|
|
104
|
-
}
|
|
100
|
+
const txBodyCbor = preOutput.data;
|
|
101
|
+
const auxDataCbor = memo ? buildCip20AuxData(memo).auxDataCbor : undefined;
|
|
105
102
|
const spendingKey = new Uint8Array(publicKey.data()).slice(0, 32);
|
|
106
103
|
const encoded = buildSignedCardanoTx({
|
|
107
104
|
txBodyCbor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileTx.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,EAAE,EAAc,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAA;AACzG,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"compileTx.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/preSigningHashes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/preSigningHashes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAQlD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAwB,MAAM,oDAAoD,CAAA;AAGzG,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC,CAAA;AAKD,eAAO,MAAM,mBAAmB,GAAI,oDAAoD,KAAK,kCAqD5F,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Chain } from '@vultisig/core-chain/Chain';
|
|
2
2
|
import { fromBinary } from '@bufbuild/protobuf';
|
|
3
|
-
import { blake2b } from '@noble/hashes/blake2b';
|
|
4
3
|
import { decodeBittensorTxInput } from '../../keysign/signingInputs/resolvers/bittensor.js';
|
|
5
4
|
import { computePreSigningHashes } from '../../keysign/signingInputs/resolvers/bitcoin/sighash.js';
|
|
6
5
|
import { getQBTCPreSignedImageHash } from '../../chains/cosmos/qbtc/QBTCHelper.js';
|
|
@@ -9,7 +8,6 @@ import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
|
|
|
9
8
|
import { blake2AsU8a } from '@polkadot/util-crypto';
|
|
10
9
|
import { getBlockchainSpecificValue } from '../../keysign/chainSpecific/KeysignChainSpecific.js';
|
|
11
10
|
import { getPreSigningOutput } from '../../keysign/preSigningOutput/index.js';
|
|
12
|
-
import { buildCip20AuxData, patchTxBodyWithAuxHash } from '../compile/cardano/buildCip20AuxData.js';
|
|
13
11
|
import { KeysignPayloadSchema } from '../../types/vultisig/keysign/v1/keysign_message_pb.js';
|
|
14
12
|
import { getSwapKitSignBitcoin } from '../swapkitSignBitcoin.js';
|
|
15
13
|
const sortHashes = (hashes) => [...hashes].sort((one, another) => Buffer.from(one).compare(Buffer.from(another)));
|
|
@@ -31,15 +29,6 @@ export const getPreSigningHashes = ({ walletCore, txInputData, chain, keysignPay
|
|
|
31
29
|
const toSign = payload.length > 256 ? blake2AsU8a(payload, 256) : payload;
|
|
32
30
|
return [toSign];
|
|
33
31
|
}
|
|
34
|
-
// Cardano with memo: the aux-data hash is committed into the tx body, so
|
|
35
|
-
// the signed bytes differ from the WalletCore body. Patch the body and
|
|
36
|
-
// return blake2b-256 of the patched bytes — that is what MPC must sign.
|
|
37
|
-
if (chain === Chain.Cardano && keysignPayload?.memo) {
|
|
38
|
-
const output = getPreSigningOutput({ walletCore, txInputData, chain });
|
|
39
|
-
const { auxDataHash } = buildCip20AuxData(keysignPayload.memo);
|
|
40
|
-
const patchedBody = patchTxBodyWithAuxHash(output.data, auxDataHash);
|
|
41
|
-
return [blake2b(patchedBody, { dkLen: 32 })];
|
|
42
|
-
}
|
|
43
32
|
const output = getPreSigningOutput({
|
|
44
33
|
walletCore,
|
|
45
34
|
txInputData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/preSigningHashes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/preSigningHashes/index.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.8.
|
|
3
|
+
"version": "1.8.17",
|
|
4
4
|
"description": "MPC, keysign, and vault types shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -1023,8 +1023,8 @@
|
|
|
1023
1023
|
"@mysten/sui": "^2.20.1",
|
|
1024
1024
|
"@noble/hashes": "^1.8.0",
|
|
1025
1025
|
"@solana/web3.js": "^1.98.4",
|
|
1026
|
-
"@trustwallet/wallet-core": "^4.
|
|
1027
|
-
"@vultisig/core-chain": "2.
|
|
1026
|
+
"@trustwallet/wallet-core": "^4.7.0",
|
|
1027
|
+
"@vultisig/core-chain": "2.23.0",
|
|
1028
1028
|
"@vultisig/core-config": "0.9.1",
|
|
1029
1029
|
"@vultisig/lib-dkls": "0.9.0",
|
|
1030
1030
|
"@vultisig/lib-mldsa": "0.9.0",
|