@vultisig/core-mpc 1.8.4 → 1.8.6
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 +13 -0
- package/dist/chains/cosmos/qbtc/QBTCClaimHelper.d.ts +20 -0
- package/dist/chains/cosmos/qbtc/QBTCClaimHelper.d.ts.map +1 -0
- package/dist/chains/cosmos/qbtc/QBTCClaimHelper.js +23 -0
- package/dist/chains/cosmos/qbtc/QBTCClaimHelper.js.map +1 -0
- package/dist/chains/cosmos/qbtc/QBTCHelper.d.ts.map +1 -1
- package/dist/chains/cosmos/qbtc/QBTCHelper.js +13 -20
- package/dist/chains/cosmos/qbtc/QBTCHelper.js.map +1 -1
- package/dist/chains/cosmos/qbtc/QBTCTx.d.ts +26 -0
- package/dist/chains/cosmos/qbtc/QBTCTx.d.ts.map +1 -0
- package/dist/chains/cosmos/qbtc/QBTCTx.js +19 -0
- package/dist/chains/cosmos/qbtc/QBTCTx.js.map +1 -0
- package/package.json +12 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @vultisig/core-mpc
|
|
2
2
|
|
|
3
|
+
## 1.8.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#764](https://github.com/vultisig/vultisig-sdk/pull/764) [`0dc1620`](https://github.com/vultisig/vultisig-sdk/commit/0dc16206bedcdde8832a068b15383565a6b98896) Thanks [@rcoderdev](https://github.com/rcoderdev)! - Add QBTC claim transaction helper utilities for MLDSA claim signing.
|
|
8
|
+
|
|
9
|
+
## 1.8.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`59e66c8`](https://github.com/vultisig/vultisig-sdk/commit/59e66c89858f90222a1d2d74eff9e71b69dd2f03)]:
|
|
14
|
+
- @vultisig/core-chain@2.17.8
|
|
15
|
+
|
|
3
16
|
## 1.8.4
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type QBTCTxComponents } from './QBTCTx.js';
|
|
2
|
+
type ClaimPreSignedImageHashInput = {
|
|
3
|
+
bodyBytes: Uint8Array;
|
|
4
|
+
accountNumber: bigint;
|
|
5
|
+
mldsaPublicKey: Uint8Array;
|
|
6
|
+
sequence: bigint;
|
|
7
|
+
};
|
|
8
|
+
export declare const getClaimPreSignedImageHash: ({ bodyBytes, accountNumber, mldsaPublicKey, sequence, }: ClaimPreSignedImageHashInput) => {
|
|
9
|
+
hash: Uint8Array;
|
|
10
|
+
authInfoBytes: Uint8Array;
|
|
11
|
+
};
|
|
12
|
+
type ClaimSignedTransactionInput = QBTCTxComponents & {
|
|
13
|
+
signature: Uint8Array;
|
|
14
|
+
};
|
|
15
|
+
export declare const getClaimSignedTransaction: ({ bodyBytes, authInfoBytes, signature, }: ClaimSignedTransactionInput) => {
|
|
16
|
+
txBytesBase64: string;
|
|
17
|
+
txHash: string;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=QBTCClaimHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QBTCClaimHelper.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCClaimHelper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEnH,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,UAAU,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,UAAU,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,yDAKxC,4BAA4B,KAAG;IAChC,IAAI,EAAE,UAAU,CAAA;IAChB,aAAa,EAAE,UAAU,CAAA;CAa1B,CAAA;AAED,KAAK,2BAA2B,GAAG,gBAAgB,GAAG;IACpD,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,0CAIvC,2BAA2B,KAAG;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CAQf,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
2
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
3
|
+
import { buildQBTCAuthInfo, buildQBTCSignDocFromComponents, buildQBTCTxRaw } from './QBTCTx.js';
|
|
4
|
+
export const getClaimPreSignedImageHash = ({ bodyBytes, accountNumber, mldsaPublicKey, sequence, }) => {
|
|
5
|
+
const authInfoBytes = buildQBTCAuthInfo({
|
|
6
|
+
pubKeyData: mldsaPublicKey,
|
|
7
|
+
sequence,
|
|
8
|
+
});
|
|
9
|
+
const signDoc = buildQBTCSignDocFromComponents({
|
|
10
|
+
bodyBytes,
|
|
11
|
+
authInfoBytes,
|
|
12
|
+
accountNumber,
|
|
13
|
+
});
|
|
14
|
+
return { hash: sha256(signDoc), authInfoBytes };
|
|
15
|
+
};
|
|
16
|
+
export const getClaimSignedTransaction = ({ bodyBytes, authInfoBytes, signature, }) => {
|
|
17
|
+
const txRaw = buildQBTCTxRaw({ bodyBytes, authInfoBytes, signature });
|
|
18
|
+
return {
|
|
19
|
+
txBytesBase64: Buffer.from(txRaw).toString('base64'),
|
|
20
|
+
txHash: Buffer.from(sha256(txRaw)).toString('hex').toUpperCase(),
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=QBTCClaimHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QBTCClaimHelper.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCClaimHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAA;AASnH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAQ,GACqB,EAG7B,EAAE;IACF,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACtC,UAAU,EAAE,cAAc;QAC1B,QAAQ;KACT,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,8BAA8B,CAAC;QAC7C,SAAS;QACT,aAAa;QACb,aAAa;KACd,CAAC,CAAA;IAEF,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;AACjD,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,SAAS,EACT,aAAa,EACb,SAAS,GACmB,EAG5B,EAAE;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAA;IAErE,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;KACjE,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QBTCHelper.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCHelper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAA;
|
|
1
|
+
{"version":3,"file":"QBTCHelper.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCHelper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,2DAA2D,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uDAAuD,CAAA;AAUtF,KAAK,gBAAgB,GAAG;IACtB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;CAC/B,CAAA;AAED,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,GAAI,oCAAoC,gBAAgB,KAAG,UAAU,EAG1G,CAAA;AAED,KAAK,0BAA0B,GAAG,gBAAgB,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAC7C,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,wBAAwB,GAAI,iDAItC,0BAA0B,KAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;CA8BxB,CAAA"}
|
|
@@ -8,13 +8,12 @@ import { Buffer } from 'buffer';
|
|
|
8
8
|
import { sha256 } from '@noble/hashes/sha256';
|
|
9
9
|
import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
|
|
10
10
|
import { concatBytes, protoBytes, protoString, protoVarint } from '@vultisig/core-chain/chains/cosmos/protoEncoding';
|
|
11
|
-
|
|
11
|
+
import { buildQBTCAuthInfo, buildQBTCSignDocFromComponents, buildQBTCTxRaw } from './QBTCTx.js';
|
|
12
12
|
const msgSendTypeURL = '/cosmos.bank.v1beta1.MsgSend';
|
|
13
13
|
const msgTransferTypeURL = '/ibc.applications.transfer.v1.MsgTransfer';
|
|
14
14
|
const msgVoteTypeURL = '/cosmos.gov.v1beta1.MsgVote';
|
|
15
15
|
/** QBTC fee denom and chain ID (Cosmos SDK). */
|
|
16
16
|
const denom = 'qbtc';
|
|
17
|
-
const chainID = 'qbtc';
|
|
18
17
|
/** Returns the SHA256 hash(es) of the SignDoc that must be signed. */
|
|
19
18
|
export const getQBTCPreSignedImageHash = ({ keysignPayload, cosmosSpecific }) => {
|
|
20
19
|
const signDoc = buildSignDoc({ keysignPayload, cosmosSpecific });
|
|
@@ -26,7 +25,7 @@ export const getQBTCSignedTransaction = ({ keysignPayload, cosmosSpecific, signa
|
|
|
26
25
|
keysignPayload,
|
|
27
26
|
cosmosSpecific,
|
|
28
27
|
});
|
|
29
|
-
const signDoc =
|
|
28
|
+
const signDoc = buildQBTCSignDocFromComponents({
|
|
30
29
|
bodyBytes,
|
|
31
30
|
authInfoBytes,
|
|
32
31
|
accountNumber: cosmosSpecific.accountNumber,
|
|
@@ -34,7 +33,11 @@ export const getQBTCSignedTransaction = ({ keysignPayload, cosmosSpecific, signa
|
|
|
34
33
|
const hashHex = Buffer.from(sha256(signDoc)).toString('hex');
|
|
35
34
|
const sig = shouldBePresent(signatures[hashHex], `QBTC signature for hash ${hashHex}`);
|
|
36
35
|
const sigData = Buffer.from(sig.der_signature, 'hex');
|
|
37
|
-
const txRaw =
|
|
36
|
+
const txRaw = buildQBTCTxRaw({
|
|
37
|
+
bodyBytes,
|
|
38
|
+
authInfoBytes,
|
|
39
|
+
signature: sigData,
|
|
40
|
+
});
|
|
38
41
|
const txBytesBase64 = Buffer.from(txRaw).toString('base64');
|
|
39
42
|
const serialized = JSON.stringify({
|
|
40
43
|
tx_bytes: txBytesBase64,
|
|
@@ -48,7 +51,7 @@ const buildSignDoc = ({ keysignPayload, cosmosSpecific }) => {
|
|
|
48
51
|
keysignPayload,
|
|
49
52
|
cosmosSpecific,
|
|
50
53
|
});
|
|
51
|
-
return
|
|
54
|
+
return buildQBTCSignDocFromComponents({
|
|
52
55
|
bodyBytes,
|
|
53
56
|
authInfoBytes,
|
|
54
57
|
accountNumber: cosmosSpecific.accountNumber,
|
|
@@ -75,14 +78,16 @@ const buildTxComponents = ({ keysignPayload, cosmosSpecific }) => {
|
|
|
75
78
|
const coin = shouldBePresent(keysignPayload.coin);
|
|
76
79
|
const pubKeyData = Buffer.from(coin.hexPublicKey, 'hex');
|
|
77
80
|
const bodyBytes = buildTxBody({ keysignPayload, cosmosSpecific });
|
|
78
|
-
const authInfoBytes =
|
|
81
|
+
const authInfoBytes = buildQBTCAuthInfo({
|
|
79
82
|
pubKeyData,
|
|
80
83
|
sequence: cosmosSpecific.sequence,
|
|
81
|
-
|
|
84
|
+
fee: {
|
|
85
|
+
denom,
|
|
86
|
+
amount: cosmosSpecific.gas.toString(),
|
|
87
|
+
},
|
|
82
88
|
});
|
|
83
89
|
return { bodyBytes, authInfoBytes };
|
|
84
90
|
};
|
|
85
|
-
const buildSignDocFromComponents = ({ bodyBytes, authInfoBytes, accountNumber }) => concatBytes(protoBytes(1, bodyBytes), protoBytes(2, authInfoBytes), protoString(3, chainID), protoVarint(4, accountNumber));
|
|
86
91
|
const buildTxBody = ({ keysignPayload, cosmosSpecific }) => {
|
|
87
92
|
const { transactionType, ibcDenomTraces } = cosmosSpecific;
|
|
88
93
|
let { memo } = keysignPayload;
|
|
@@ -159,16 +164,4 @@ const buildMsgVote = (keysignPayload) => {
|
|
|
159
164
|
const proposalId = BigInt(parts[1]);
|
|
160
165
|
return concatBytes(protoVarint(1, proposalId), protoString(2, coin.address), protoVarint(3, option));
|
|
161
166
|
};
|
|
162
|
-
const buildAuthInfo = ({ pubKeyData, sequence, gas }) => {
|
|
163
|
-
const pubKeyMsg = protoBytes(1, pubKeyData);
|
|
164
|
-
const pubKeyAny = concatBytes(protoString(1, pubKeyTypeURL), protoBytes(2, pubKeyMsg));
|
|
165
|
-
const singleMode = protoVarint(1, 1n);
|
|
166
|
-
const modeInfo = protoBytes(1, singleMode);
|
|
167
|
-
const signerInfo = concatBytes(protoBytes(1, pubKeyAny), protoBytes(2, modeInfo), protoVarint(3, sequence));
|
|
168
|
-
const feeCoin = concatBytes(protoString(1, denom), protoString(2, gas.toString()));
|
|
169
|
-
const gasLimit = 300000n;
|
|
170
|
-
const fee = concatBytes(protoBytes(1, feeCoin), protoVarint(2, gasLimit));
|
|
171
|
-
return concatBytes(protoBytes(1, signerInfo), protoBytes(2, fee));
|
|
172
|
-
};
|
|
173
|
-
const buildTxRaw = ({ bodyBytes, authInfoBytes, signature }) => concatBytes(protoBytes(1, bodyBytes), protoBytes(2, authInfoBytes), protoBytes(3, signature));
|
|
174
167
|
//# sourceMappingURL=QBTCHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QBTCHelper.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCHelper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;
|
|
1
|
+
{"version":3,"file":"QBTCHelper.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCHelper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAE5E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;AAKpH,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE5F,MAAM,cAAc,GAAG,8BAA8B,CAAA;AACrD,MAAM,kBAAkB,GAAG,2CAA2C,CAAA;AACtE,MAAM,cAAc,GAAG,6BAA6B,CAAA;AAEpD,gDAAgD;AAChD,MAAM,KAAK,GAAG,MAAM,CAAA;AAOpB,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAoB,EAAgB,EAAE;IAC9G,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAA;IAChE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1B,CAAC,CAAA;AAMD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,cAAc,EACd,cAAc,EACd,UAAU,GACiB,EAG3B,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;QACrD,cAAc;QACd,cAAc;KACf,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,8BAA8B,CAAC;QAC7C,SAAS;QACT,aAAa;QACb,aAAa,EAAE,cAAc,CAAC,aAAa;KAC5C,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5D,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,2BAA2B,OAAO,EAAE,CAAC,CAAA;IACtF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAErD,MAAM,KAAK,GAAG,cAAc,CAAC;QAC3B,SAAS;QACT,aAAa;QACb,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,qBAAqB;KAC5B,CAAC,CAAA;IACF,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IAEhF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAoB,EAAE,EAAE;IAC5E,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC;QACrD,cAAc;QACd,cAAc;KACf,CAAC,CAAA;IACF,OAAO,8BAA8B,CAAC;QACpC,SAAS;QACT,aAAa;QACb,aAAa,EAAE,cAAc,CAAC,aAAa;KAC5C,CAAC,CAAA;AACJ,CAAC,CAAA;AAOD,MAAM,iBAAiB,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAoB,EAA2B,EAAE;IAC1G,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;IACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnC,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC1D,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC;SACnE,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClC,wEAAwE;QACxE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IAExD,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAA;IACjE,MAAM,aAAa,GAAG,iBAAiB,CAAC;QACtC,UAAU;QACV,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,GAAG,EAAE;YACH,KAAK;YACL,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;SACtC;KACF,CAAC,CAAA;IACF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAAoB,EAAc,EAAE;IACvF,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,cAAc,CAAA;IAC1D,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,CAAA;IAC7B,IAAI,MAAkB,CAAA;IAEtB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAA;QAChE,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3D,CAAC;SAAM,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;QACrC,IAAI,GAAG,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,cAA8B,EAAc,EAAE;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAC5C,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,cAA8B,EAAc,EAAE;IAClE,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;IAEnE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEjG,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;AACtH,CAAC,CAAA;AAOD,MAAM,mBAAmB,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAA4B,EAAc,EAAE;IACvG,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAA;IACxE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,EAAE,cAAc,EAAE,cAAc,EAA4B,EAAc,EAAE;IACpG,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;IAC7F,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAE9B,MAAM,QAAQ,GAAG,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAElC,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;IAEpE,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE9F,OAAO,WAAW,CAChB,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,EAC1B,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,EAC7B,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,EACpB,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAC5B,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,EACxC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CACxB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,cAA8B,EAAc,EAAE;IAClE,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAC5C,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,gBAAgB,GAA2B;IAC/C,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,EAAE;CACf,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,cAA8B,EAAc,EAAE;IAClE,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxG,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnC,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;AACtG,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const qbtcChainID = "qbtc";
|
|
2
|
+
export type QBTCTxComponents = {
|
|
3
|
+
bodyBytes: Uint8Array;
|
|
4
|
+
authInfoBytes: Uint8Array;
|
|
5
|
+
};
|
|
6
|
+
type BuildQBTCAuthInfoInput = {
|
|
7
|
+
pubKeyData: Uint8Array;
|
|
8
|
+
sequence: bigint;
|
|
9
|
+
gasLimit?: bigint;
|
|
10
|
+
fee?: {
|
|
11
|
+
denom: string;
|
|
12
|
+
amount: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const buildQBTCAuthInfo: ({ pubKeyData, sequence, gasLimit, fee, }: BuildQBTCAuthInfoInput) => Uint8Array;
|
|
16
|
+
type BuildQBTCSignDocFromComponentsInput = QBTCTxComponents & {
|
|
17
|
+
accountNumber: bigint;
|
|
18
|
+
chainID?: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const buildQBTCSignDocFromComponents: ({ bodyBytes, authInfoBytes, accountNumber, chainID, }: BuildQBTCSignDocFromComponentsInput) => Uint8Array<ArrayBufferLike>;
|
|
21
|
+
type BuildQBTCTxRawInput = QBTCTxComponents & {
|
|
22
|
+
signature: Uint8Array;
|
|
23
|
+
};
|
|
24
|
+
export declare const buildQBTCTxRaw: ({ bodyBytes, authInfoBytes, signature }: BuildQBTCTxRawInput) => Uint8Array;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=QBTCTx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QBTCTx.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCTx.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,SAAS,CAAA;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,UAAU,CAAA;IACrB,aAAa,EAAE,UAAU,CAAA;CAC1B,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,0CAK/B,sBAAsB,KAAG,UAY3B,CAAA;AAED,KAAK,mCAAmC,GAAG,gBAAgB,GAAG;IAC5D,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,8BAA8B,GAAI,uDAK5C,mCAAmC,gCAMnC,CAAA;AAEH,KAAK,mBAAmB,GAAG,gBAAgB,GAAG;IAC5C,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,yCAAyC,mBAAmB,KAAG,UACC,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { concatBytes, protoBytes, protoString, protoVarint } from '@vultisig/core-chain/chains/cosmos/protoEncoding';
|
|
2
|
+
const pubKeyTypeURL = '/cosmos.crypto.mldsa.PubKey';
|
|
3
|
+
const defaultGasLimit = 300000n;
|
|
4
|
+
export const qbtcChainID = 'qbtc';
|
|
5
|
+
export const buildQBTCAuthInfo = ({ pubKeyData, sequence, gasLimit = defaultGasLimit, fee, }) => {
|
|
6
|
+
const pubKeyMsg = protoBytes(1, pubKeyData);
|
|
7
|
+
const pubKeyAny = concatBytes(protoString(1, pubKeyTypeURL), protoBytes(2, pubKeyMsg));
|
|
8
|
+
const singleMode = protoVarint(1, 1n);
|
|
9
|
+
const modeInfo = protoBytes(1, singleMode);
|
|
10
|
+
const signerInfo = concatBytes(protoBytes(1, pubKeyAny), protoBytes(2, modeInfo), protoVarint(3, sequence));
|
|
11
|
+
const feeCoin = fee
|
|
12
|
+
? protoBytes(1, concatBytes(protoString(1, fee.denom), protoString(2, fee.amount)))
|
|
13
|
+
: new Uint8Array(0);
|
|
14
|
+
const feeBytes = concatBytes(feeCoin, protoVarint(2, gasLimit));
|
|
15
|
+
return concatBytes(protoBytes(1, signerInfo), protoBytes(2, feeBytes));
|
|
16
|
+
};
|
|
17
|
+
export const buildQBTCSignDocFromComponents = ({ bodyBytes, authInfoBytes, accountNumber, chainID = qbtcChainID, }) => concatBytes(protoBytes(1, bodyBytes), protoBytes(2, authInfoBytes), protoString(3, chainID), protoVarint(4, accountNumber));
|
|
18
|
+
export const buildQBTCTxRaw = ({ bodyBytes, authInfoBytes, signature }) => concatBytes(protoBytes(1, bodyBytes), protoBytes(2, authInfoBytes), protoBytes(3, signature));
|
|
19
|
+
//# sourceMappingURL=QBTCTx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QBTCTx.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/chains/cosmos/qbtc/QBTCTx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;AAEpH,MAAM,aAAa,GAAG,6BAA6B,CAAA;AACnD,MAAM,eAAe,GAAG,OAAQ,CAAA;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAA;AAiBjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,GAAG,GACoB,EAAc,EAAE;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;IACtF,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC3G,MAAM,OAAO,GAAG,GAAG;QACjB,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE/D,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,aAAa,EACb,aAAa,EACb,OAAO,GAAG,WAAW,GACe,EAAE,EAAE,CACxC,WAAW,CACT,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,EACxB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,EAC5B,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,EACvB,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAC9B,CAAA;AAMH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAuB,EAAc,EAAE,CACzG,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vultisig/core-mpc",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.6",
|
|
4
4
|
"description": "MPC, keysign, and vault types shared across Vultisig clients",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -14,11 +14,21 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"exports": {
|
|
17
|
+
"./chains/cosmos/qbtc/QBTCClaimHelper": {
|
|
18
|
+
"types": "./dist/chains/cosmos/qbtc/QBTCClaimHelper.d.ts",
|
|
19
|
+
"import": "./dist/chains/cosmos/qbtc/QBTCClaimHelper.js",
|
|
20
|
+
"default": "./dist/chains/cosmos/qbtc/QBTCClaimHelper.js"
|
|
21
|
+
},
|
|
17
22
|
"./chains/cosmos/qbtc/QBTCHelper": {
|
|
18
23
|
"types": "./dist/chains/cosmos/qbtc/QBTCHelper.d.ts",
|
|
19
24
|
"import": "./dist/chains/cosmos/qbtc/QBTCHelper.js",
|
|
20
25
|
"default": "./dist/chains/cosmos/qbtc/QBTCHelper.js"
|
|
21
26
|
},
|
|
27
|
+
"./chains/cosmos/qbtc/QBTCTx": {
|
|
28
|
+
"types": "./dist/chains/cosmos/qbtc/QBTCTx.d.ts",
|
|
29
|
+
"import": "./dist/chains/cosmos/qbtc/QBTCTx.js",
|
|
30
|
+
"default": "./dist/chains/cosmos/qbtc/QBTCTx.js"
|
|
31
|
+
},
|
|
22
32
|
"./compression/getSevenZip": {
|
|
23
33
|
"types": "./dist/compression/getSevenZip.d.ts",
|
|
24
34
|
"browser": "./dist/compression/getSevenZip.browser.js",
|
|
@@ -1014,7 +1024,7 @@
|
|
|
1014
1024
|
"@noble/hashes": "^1.8.0",
|
|
1015
1025
|
"@solana/web3.js": "^1.98.4",
|
|
1016
1026
|
"@trustwallet/wallet-core": "^4.6.15",
|
|
1017
|
-
"@vultisig/core-chain": "2.17.
|
|
1027
|
+
"@vultisig/core-chain": "2.17.8",
|
|
1018
1028
|
"@vultisig/core-config": "0.9.1",
|
|
1019
1029
|
"@vultisig/lib-dkls": "0.9.0",
|
|
1020
1030
|
"@vultisig/lib-mldsa": "0.9.0",
|