@vultisig/core-mpc 0.10.0 → 1.0.1

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.
Files changed (181) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/chains/cosmos/qbtc/QBTCHelper.d.ts +25 -0
  3. package/dist/chains/cosmos/qbtc/QBTCHelper.d.ts.map +1 -0
  4. package/dist/chains/cosmos/qbtc/QBTCHelper.js +158 -0
  5. package/dist/chains/cosmos/qbtc/QBTCHelper.js.map +1 -0
  6. package/dist/keygen/KeygenStep.d.ts +1 -1
  7. package/dist/keygen/KeygenStep.d.ts.map +1 -1
  8. package/dist/keygen/KeygenStep.js +7 -1
  9. package/dist/keygen/KeygenStep.js.map +1 -1
  10. package/dist/keysign/chainSpecific/KeysignChainSpecific.d.ts +1 -0
  11. package/dist/keysign/chainSpecific/KeysignChainSpecific.d.ts.map +1 -1
  12. package/dist/keysign/chainSpecific/KeysignChainSpecific.js +1 -0
  13. package/dist/keysign/chainSpecific/KeysignChainSpecific.js.map +1 -1
  14. package/dist/keysign/chainSpecific/index.d.ts.map +1 -1
  15. package/dist/keysign/chainSpecific/index.js +2 -0
  16. package/dist/keysign/chainSpecific/index.js.map +1 -1
  17. package/dist/keysign/chainSpecific/resolvers/qbtc.d.ts +3 -0
  18. package/dist/keysign/chainSpecific/resolvers/qbtc.d.ts.map +1 -0
  19. package/dist/keysign/chainSpecific/resolvers/qbtc.js +25 -0
  20. package/dist/keysign/chainSpecific/resolvers/qbtc.js.map +1 -0
  21. package/dist/keysign/chainSpecific/resolvers/solana/index.d.ts.map +1 -1
  22. package/dist/keysign/chainSpecific/resolvers/solana/index.js +5 -2
  23. package/dist/keysign/chainSpecific/resolvers/solana/index.js.map +1 -1
  24. package/dist/keysign/chainSpecific/resolvers/solana/refine.d.ts +2 -1
  25. package/dist/keysign/chainSpecific/resolvers/solana/refine.d.ts.map +1 -1
  26. package/dist/keysign/chainSpecific/resolvers/solana/refine.js +2 -3
  27. package/dist/keysign/chainSpecific/resolvers/solana/refine.js.map +1 -1
  28. package/dist/keysign/cosigner.js +1 -1
  29. package/dist/keysign/cosigner.js.map +1 -1
  30. package/dist/keysign/fee/index.d.ts.map +1 -1
  31. package/dist/keysign/fee/index.js +2 -0
  32. package/dist/keysign/fee/index.js.map +1 -1
  33. package/dist/keysign/fee/resolvers/qbtc.d.ts +3 -0
  34. package/dist/keysign/fee/resolvers/qbtc.d.ts.map +1 -0
  35. package/dist/keysign/fee/resolvers/qbtc.js +6 -0
  36. package/dist/keysign/fee/resolvers/qbtc.js.map +1 -0
  37. package/dist/keysign/index.d.ts.map +1 -1
  38. package/dist/keysign/index.js +28 -19
  39. package/dist/keysign/index.js.map +1 -1
  40. package/dist/keysign/preSigningOutput/index.d.ts +1 -0
  41. package/dist/keysign/preSigningOutput/index.d.ts.map +1 -1
  42. package/dist/keysign/preSigningOutput/index.js +1 -0
  43. package/dist/keysign/preSigningOutput/index.js.map +1 -1
  44. package/dist/keysign/send/build.d.ts +4 -2
  45. package/dist/keysign/send/build.d.ts.map +1 -1
  46. package/dist/keysign/send/build.js +19 -10
  47. package/dist/keysign/send/build.js.map +1 -1
  48. package/dist/keysign/send/getSendFeeEstimate.d.ts.map +1 -1
  49. package/dist/keysign/send/getSendFeeEstimate.js +9 -1
  50. package/dist/keysign/send/getSendFeeEstimate.js.map +1 -1
  51. package/dist/keysign/setupMessage/make.d.ts.map +1 -1
  52. package/dist/keysign/setupMessage/make.js +12 -2
  53. package/dist/keysign/setupMessage/make.js.map +1 -1
  54. package/dist/keysign/signingInputs/core.d.ts +1 -0
  55. package/dist/keysign/signingInputs/core.d.ts.map +1 -1
  56. package/dist/keysign/signingInputs/core.js +1 -0
  57. package/dist/keysign/signingInputs/core.js.map +1 -1
  58. package/dist/keysign/signingInputs/index.d.ts.map +1 -1
  59. package/dist/keysign/signingInputs/index.js +3 -1
  60. package/dist/keysign/signingInputs/index.js.map +1 -1
  61. package/dist/keysign/signingInputs/resolvers/evm/incrementKeysignPayloadNonce.d.ts +3 -0
  62. package/dist/keysign/signingInputs/resolvers/evm/incrementKeysignPayloadNonce.d.ts.map +1 -0
  63. package/dist/keysign/signingInputs/resolvers/evm/incrementKeysignPayloadNonce.js +17 -0
  64. package/dist/keysign/signingInputs/resolvers/evm/incrementKeysignPayloadNonce.js.map +1 -0
  65. package/dist/keysign/signingInputs/resolvers/evm/index.js +1 -1
  66. package/dist/keysign/signingInputs/resolvers/evm/index.js.map +1 -1
  67. package/dist/keysign/signingInputs/resolvers/qbtc.d.ts +5 -0
  68. package/dist/keysign/signingInputs/resolvers/qbtc.d.ts.map +1 -0
  69. package/dist/keysign/signingInputs/resolvers/qbtc.js +4 -0
  70. package/dist/keysign/signingInputs/resolvers/qbtc.js.map +1 -0
  71. package/dist/keysign/signingInputs/resolvers/ton/index.d.ts.map +1 -1
  72. package/dist/keysign/signingInputs/resolvers/ton/index.js +25 -13
  73. package/dist/keysign/signingInputs/resolvers/ton/index.js.map +1 -1
  74. package/dist/keysign/signingInputs/resolvers/ton/jetton.d.ts.map +1 -1
  75. package/dist/keysign/signingInputs/resolvers/ton/jetton.js +2 -1
  76. package/dist/keysign/signingInputs/resolvers/ton/jetton.js.map +1 -1
  77. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts +9 -0
  78. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts.map +1 -1
  79. package/dist/keysign/signingInputs/resolvers/ton/native.js +31 -3
  80. package/dist/keysign/signingInputs/resolvers/ton/native.js.map +1 -1
  81. package/dist/keysign/swap/build.js +1 -1
  82. package/dist/keysign/swap/build.js.map +1 -1
  83. package/dist/keysign/utxo/getKeysignUtxoInfo.d.ts.map +1 -1
  84. package/dist/keysign/utxo/getKeysignUtxoInfo.js +11 -2
  85. package/dist/keysign/utxo/getKeysignUtxoInfo.js.map +1 -1
  86. package/dist/lib/initialize.d.ts.map +1 -1
  87. package/dist/lib/initialize.js +2 -0
  88. package/dist/lib/initialize.js.map +1 -1
  89. package/dist/lib/keyshare.d.ts +2 -1
  90. package/dist/lib/keyshare.d.ts.map +1 -1
  91. package/dist/lib/keyshare.js +2 -0
  92. package/dist/lib/keyshare.js.map +1 -1
  93. package/dist/lib/signSession.d.ts +3 -2
  94. package/dist/lib/signSession.d.ts.map +1 -1
  95. package/dist/lib/signSession.js +4 -1
  96. package/dist/lib/signSession.js.map +1 -1
  97. package/dist/mldsa/mldsaKeygen.d.ts.map +1 -1
  98. package/dist/mldsa/mldsaKeygen.js +3 -1
  99. package/dist/mldsa/mldsaKeygen.js.map +1 -1
  100. package/dist/mpcLib.d.ts +3 -3
  101. package/dist/mpcLib.d.ts.map +1 -1
  102. package/dist/security/blockaid/tx/simulation/input/index.d.ts +4 -0
  103. package/dist/security/blockaid/tx/simulation/input/index.d.ts.map +1 -0
  104. package/dist/security/blockaid/tx/simulation/input/index.js +26 -0
  105. package/dist/security/blockaid/tx/simulation/input/index.js.map +1 -0
  106. package/dist/security/blockaid/tx/simulation/input/resolver.d.ts +18 -0
  107. package/dist/security/blockaid/tx/simulation/input/resolver.d.ts.map +1 -0
  108. package/dist/security/blockaid/tx/simulation/input/resolver.js +2 -0
  109. package/dist/security/blockaid/tx/simulation/input/resolver.js.map +1 -0
  110. package/dist/security/blockaid/tx/simulation/input/resolvers/evm.d.ts +4 -0
  111. package/dist/security/blockaid/tx/simulation/input/resolvers/evm.d.ts.map +1 -0
  112. package/dist/security/blockaid/tx/simulation/input/resolvers/evm.js +67 -0
  113. package/dist/security/blockaid/tx/simulation/input/resolvers/evm.js.map +1 -0
  114. package/dist/security/blockaid/tx/simulation/input/resolvers/solana.d.ts +4 -0
  115. package/dist/security/blockaid/tx/simulation/input/resolvers/solana.d.ts.map +1 -0
  116. package/dist/security/blockaid/tx/simulation/input/resolvers/solana.js +31 -0
  117. package/dist/security/blockaid/tx/simulation/input/resolvers/solana.js.map +1 -0
  118. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.d.ts +9 -0
  119. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.d.ts.map +1 -0
  120. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.js +50 -0
  121. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.js.map +1 -0
  122. package/dist/security/blockaid/tx/validation/input/index.d.ts +4 -0
  123. package/dist/security/blockaid/tx/validation/input/index.d.ts.map +1 -0
  124. package/dist/security/blockaid/tx/validation/input/index.js +30 -0
  125. package/dist/security/blockaid/tx/validation/input/index.js.map +1 -0
  126. package/dist/security/blockaid/tx/validation/input/resolver.d.ts +16 -0
  127. package/dist/security/blockaid/tx/validation/input/resolver.d.ts.map +1 -0
  128. package/dist/security/blockaid/tx/validation/input/resolver.js +2 -0
  129. package/dist/security/blockaid/tx/validation/input/resolver.js.map +1 -0
  130. package/dist/security/blockaid/tx/validation/input/resolvers/evm.d.ts +4 -0
  131. package/dist/security/blockaid/tx/validation/input/resolvers/evm.d.ts.map +1 -0
  132. package/dist/security/blockaid/tx/validation/input/resolvers/evm.js +58 -0
  133. package/dist/security/blockaid/tx/validation/input/resolvers/evm.js.map +1 -0
  134. package/dist/security/blockaid/tx/validation/input/resolvers/solana.d.ts +4 -0
  135. package/dist/security/blockaid/tx/validation/input/resolvers/solana.d.ts.map +1 -0
  136. package/dist/security/blockaid/tx/validation/input/resolvers/solana.js +20 -0
  137. package/dist/security/blockaid/tx/validation/input/resolvers/solana.js.map +1 -0
  138. package/dist/security/blockaid/tx/validation/input/resolvers/sui.d.ts +4 -0
  139. package/dist/security/blockaid/tx/validation/input/resolvers/sui.d.ts.map +1 -0
  140. package/dist/security/blockaid/tx/validation/input/resolvers/sui.js +20 -0
  141. package/dist/security/blockaid/tx/validation/input/resolvers/sui.js.map +1 -0
  142. package/dist/security/blockaid/tx/validation/input/resolvers/utxo.d.ts +4 -0
  143. package/dist/security/blockaid/tx/validation/input/resolvers/utxo.d.ts.map +1 -0
  144. package/dist/security/blockaid/tx/validation/input/resolvers/utxo.js +19 -0
  145. package/dist/security/blockaid/tx/validation/input/resolvers/utxo.js.map +1 -0
  146. package/dist/swap/native/utils/nativeSwapQuoteToSwapPayload.d.ts +16 -0
  147. package/dist/swap/native/utils/nativeSwapQuoteToSwapPayload.d.ts.map +1 -0
  148. package/dist/swap/native/utils/nativeSwapQuoteToSwapPayload.js +31 -0
  149. package/dist/swap/native/utils/nativeSwapQuoteToSwapPayload.js.map +1 -0
  150. package/dist/swap/utils/getSwapTrackingUrl.d.ts +10 -0
  151. package/dist/swap/utils/getSwapTrackingUrl.d.ts.map +1 -0
  152. package/dist/swap/utils/getSwapTrackingUrl.js +29 -0
  153. package/dist/swap/utils/getSwapTrackingUrl.js.map +1 -0
  154. package/dist/tx/compile/compileTx.d.ts +14 -0
  155. package/dist/tx/compile/compileTx.d.ts.map +1 -0
  156. package/dist/tx/compile/compileTx.js +85 -0
  157. package/dist/tx/compile/compileTx.js.map +1 -0
  158. package/dist/tx/preSigningHashes/index.d.ts +10 -0
  159. package/dist/tx/preSigningHashes/index.d.ts.map +1 -0
  160. package/dist/tx/preSigningHashes/index.js +41 -0
  161. package/dist/tx/preSigningHashes/index.js.map +1 -0
  162. package/dist/tx/signature/generateSignature.d.ts +11 -0
  163. package/dist/tx/signature/generateSignature.d.ts.map +1 -0
  164. package/dist/tx/signature/generateSignature.js +20 -0
  165. package/dist/tx/signature/generateSignature.js.map +1 -0
  166. package/dist/types/utils/libType.d.ts +1 -2
  167. package/dist/types/utils/libType.d.ts.map +1 -1
  168. package/dist/types/utils/libType.js +2 -6
  169. package/dist/types/utils/libType.js.map +1 -1
  170. package/dist/types/vultisig/keysign/v1/keysign_message_pb.d.ts +7 -1
  171. package/dist/types/vultisig/keysign/v1/keysign_message_pb.d.ts.map +1 -1
  172. package/dist/types/vultisig/keysign/v1/keysign_message_pb.js +1 -1
  173. package/dist/types/vultisig/keysign/v1/keysign_message_pb.js.map +1 -1
  174. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts +36 -0
  175. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts.map +1 -1
  176. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js +12 -2
  177. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js.map +1 -1
  178. package/dist/vault/Vault.d.ts +4 -2
  179. package/dist/vault/Vault.d.ts.map +1 -1
  180. package/dist/vault/Vault.js.map +1 -1
  181. package/package.json +929 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCompiledTxsForBlockaidInput.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAA;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAGjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAOrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,OAAO,EACP,UAAU,GACJ,EAAE,EAAE;IACV,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CACnD,aAAa,EACb,kBAAkB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAC1C,CAAA;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,KAAK;QACL,UAAU;KACX,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACrC,cAAc,EAAE,OAAO;QACvB,UAAU;QACV,SAAS;KACV,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QAC9B,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,UAAU;YACV,WAAW;YACX,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QACjD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;QAEjD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CACtB,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACjC,GAAG,EAAE,GAAG,EAAE;gBACR,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACnC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,iBAAiB,EAAE,GAAG,EAAE;gBACtB,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBACnC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAClC,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;gBAEjD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACtD,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC/D,CAAC;SACF,CAAC,CACH,CAAA;QAED,OAAO,UAAU,CAAC,mBAAmB,CAAC,qBAAqB,CACzD,QAAQ,EACR,WAAW,EACX,UAAU,EACV,UAAU,CACX,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { BlockaidTxValidationInput } from '@vultisig/core-chain/security/blockaid/tx/validation/resolver';
2
+ import { BlockaidTxValidationInputResolverInput } from './resolver.js';
3
+ export declare const getBlockaidTxValidationInput: (input: Omit<BlockaidTxValidationInputResolverInput, "chain">) => BlockaidTxValidationInput | null;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAA;AAIzG,OAAO,EAEL,sCAAsC,EACvC,MAAM,YAAY,CAAA;AAgBnB,eAAO,MAAM,4BAA4B,GACvC,OAAO,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,KAC3D,yBAAyB,GAAG,IAkB9B,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { getChainKind } from '@vultisig/core-chain/ChainKind';
2
+ import { blockaidValidationSupportedChains, } from '@vultisig/core-chain/security/blockaid/validationChains';
3
+ import { getKeysignChain } from '@vultisig/core-mpc/keysign/utils/getKeysignChain';
4
+ import { isOneOf } from '@vultisig/lib-utils/array/isOneOf';
5
+ import { getEvmBlockaidTxValidationInput } from './resolvers/evm.js';
6
+ import { getSolanaBlockaidTxValidationInput } from './resolvers/solana.js';
7
+ import { getSuiBlockaidTxValidationInput } from './resolvers/sui.js';
8
+ import { getUtxoBlockaidTxValidationInput } from './resolvers/utxo.js';
9
+ const resolvers = {
10
+ evm: getEvmBlockaidTxValidationInput,
11
+ utxo: getUtxoBlockaidTxValidationInput,
12
+ solana: getSolanaBlockaidTxValidationInput,
13
+ sui: getSuiBlockaidTxValidationInput,
14
+ };
15
+ export const getBlockaidTxValidationInput = (input) => {
16
+ const chain = getKeysignChain(input.payload);
17
+ if (!isOneOf(chain, blockaidValidationSupportedChains)) {
18
+ return null;
19
+ }
20
+ const chainKind = getChainKind(chain);
21
+ const data = resolvers[chainKind]({
22
+ ...input,
23
+ chain,
24
+ });
25
+ if (!data) {
26
+ return null;
27
+ }
28
+ return { chain, data };
29
+ };
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAEL,iCAAiC,GAClC,MAAM,yDAAyD,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAM3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAA;AAEnE,MAAM,SAAS,GAGX;IACF,GAAG,EAAE,+BAA+B;IACpC,IAAI,EAAE,gCAAgC;IACtC,MAAM,EAAE,kCAAkC;IAC1C,GAAG,EAAE,+BAA+B;CACrC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,KAA4D,EAC1B,EAAE;IACpC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iCAAiC,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAChC,GAAG,KAAK;QACR,KAAK;KACN,CAAC,CAAA;IAEF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { KeysignPayload } from '@vultisig/core-mpc/types/vultisig/keysign/v1/keysign_message_pb';
2
+ import { Resolver } from '@vultisig/lib-utils/types/Resolver';
3
+ import { WalletCore } from '@trustwallet/wallet-core';
4
+ import { BlockaidValidationSupportedChain } from '@vultisig/core-chain/security/blockaid/validationChains';
5
+ import { BlockaidTxValidationInput } from '@vultisig/core-chain/security/blockaid/tx/validation/resolver';
6
+ export type BlockaidTxValidationInputResolverInput<T extends BlockaidValidationSupportedChain = BlockaidValidationSupportedChain> = {
7
+ payload: KeysignPayload;
8
+ walletCore: WalletCore;
9
+ chain: T;
10
+ };
11
+ export type BlockaidTxValidationInputResolver<T extends BlockaidValidationSupportedChain = BlockaidValidationSupportedChain> = Resolver<{
12
+ payload: KeysignPayload;
13
+ walletCore: WalletCore;
14
+ chain: T;
15
+ }, BlockaidTxValidationInput['data'] | null>;
16
+ //# sourceMappingURL=resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAA;AAChG,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAA;AAC1G,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAA;AAEzG,MAAM,MAAM,sCAAsC,CAChD,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,IAC3E;IACF,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,CAAC,CAAA;CACT,CAAA;AAED,MAAM,MAAM,iCAAiC,CAC3C,CAAC,SAAS,gCAAgC,GAAG,gCAAgC,IAC3E,QAAQ,CACV;IACE,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,CAAC,CAAA;CACT,EACD,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CACzC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolver.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { BlockaidSupportedEvmChain } from '@vultisig/core-chain/security/blockaid/evmChains';
2
+ import { BlockaidTxValidationInputResolver } from '../resolver.js';
3
+ export declare const getEvmBlockaidTxValidationInput: BlockaidTxValidationInputResolver<BlockaidSupportedEvmChain>;
4
+ //# sourceMappingURL=evm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/evm.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EAC1B,MAAM,kDAAkD,CAAA;AASzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,+BAA+B,EAAE,iCAAiC,CAC7E,yBAAyB,CAoE1B,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { productRootDomain } from '@vultisig/core-config';
2
+ import { blockaidEvmChain, } from '@vultisig/core-chain/security/blockaid/evmChains';
3
+ import { getKeysignSwapPayload } from '@vultisig/core-mpc/keysign/swap/getKeysignSwapPayload';
4
+ import { getKeysignCoin } from '@vultisig/core-mpc/keysign/utils/getKeysignCoin';
5
+ import { bigIntToHex } from '@vultisig/lib-utils/bigint/bigIntToHex';
6
+ import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
7
+ import { encodeFunctionData, erc20Abi } from 'viem';
8
+ export const getEvmBlockaidTxValidationInput = ({ payload, chain }) => {
9
+ const coin = getKeysignCoin(payload);
10
+ const toEvmBlockaidTxScanInput = ({ to, value, data, }) => ({
11
+ data: {
12
+ method: 'eth_sendTransaction',
13
+ params: [{ from: coin.address, to, value, data }],
14
+ },
15
+ chain: blockaidEvmChain[chain],
16
+ metadata: {
17
+ domain: productRootDomain,
18
+ },
19
+ });
20
+ const swapPayload = getKeysignSwapPayload(payload);
21
+ if (swapPayload) {
22
+ return matchRecordUnion(swapPayload, {
23
+ native: () => null,
24
+ general: generalSwapPayload => {
25
+ const { quote } = generalSwapPayload;
26
+ if (!quote?.tx) {
27
+ return null;
28
+ }
29
+ return toEvmBlockaidTxScanInput({
30
+ to: quote.tx.to,
31
+ value: quote.tx.value.startsWith('0x')
32
+ ? quote.tx.value
33
+ : `0x${bigIntToHex(BigInt(quote.tx.value))}`,
34
+ data: quote.tx.data,
35
+ });
36
+ },
37
+ });
38
+ }
39
+ const amount = BigInt(payload.toAmount);
40
+ const receiver = payload.toAddress;
41
+ if (!coin.id) {
42
+ return toEvmBlockaidTxScanInput({
43
+ to: receiver,
44
+ value: `0x${bigIntToHex(amount)}`,
45
+ data: payload.memo || '0x',
46
+ });
47
+ }
48
+ return toEvmBlockaidTxScanInput({
49
+ to: coin.id,
50
+ value: `0x${bigIntToHex(amount)}`,
51
+ data: encodeFunctionData({
52
+ abi: erc20Abi,
53
+ functionName: 'transfer',
54
+ args: [receiver, amount],
55
+ }),
56
+ });
57
+ };
58
+ //# sourceMappingURL=evm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EACL,gBAAgB,GAEjB,MAAM,kDAAkD,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAA;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAInD,MAAM,CAAC,MAAM,+BAA+B,GAExC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;IACzB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEpC,MAAM,wBAAwB,GAAG,CAAC,EAChC,EAAE,EACF,KAAK,EACL,IAAI,GAKL,EAAE,EAAE,CAAC,CAAC;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAClD;QACD,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC9B,QAAQ,EAAE;YACR,MAAM,EAAE,iBAAiB;SAC1B;KACF,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAElD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,gBAAgB,CAGrB,WAAW,EAAE;YACb,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;YAClB,OAAO,EAAE,kBAAkB,CAAC,EAAE;gBAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAA;gBACpC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;oBACf,OAAO,IAAI,CAAA;gBACb,CAAC;gBAED,OAAO,wBAAwB,CAAC;oBAC9B,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE;oBACf,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;wBACpC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK;wBAChB,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC9C,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI;iBACpB,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAA0B,CAAA;IAEnD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,wBAAwB,CAAC;YAC9B,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,wBAAwB,CAAC;QAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE;QACjC,IAAI,EAAE,kBAAkB,CAAC;YACvB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { OtherChain } from '@vultisig/core-chain/Chain';
2
+ import { BlockaidTxValidationInputResolver } from '../resolver.js';
3
+ export declare const getSolanaBlockaidTxValidationInput: BlockaidTxValidationInputResolver<OtherChain.Solana>;
4
+ //# sourceMappingURL=solana.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,kCAAkC,EAAE,iCAAiC,CAChF,UAAU,CAAC,MAAM,CAkBlB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { decodeSigningOutput } from '@vultisig/core-chain/tw/signingOutput';
2
+ import { assertField } from '@vultisig/lib-utils/record/assertField';
3
+ import { getCompiledTxsForBlockaidInput } from '../../../utils/getCompiledTxsForBlockaidInput.js';
4
+ export const getSolanaBlockaidTxValidationInput = ({ payload, walletCore, chain }) => {
5
+ const coin = assertField(payload, 'coin');
6
+ const transactions = getCompiledTxsForBlockaidInput({
7
+ payload,
8
+ walletCore,
9
+ }).map(tx => decodeSigningOutput(chain, tx).encoded);
10
+ return {
11
+ chain: 'mainnet',
12
+ options: ['validation'],
13
+ account_address: coin.address,
14
+ encoding: 'base58',
15
+ transactions,
16
+ method: 'signAndSendTransaction',
17
+ metadata: {},
18
+ };
19
+ };
20
+ //# sourceMappingURL=solana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/solana.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAG9F,MAAM,CAAC,MAAM,kCAAkC,GAE3C,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEzC,MAAM,YAAY,GAAG,8BAA8B,CAAC;QAClD,OAAO;QACP,UAAU;KACX,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IAEpD,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,QAAQ,EAAE,QAAQ;QAClB,YAAY;QACZ,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,EAAE;KACb,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { OtherChain } from '@vultisig/core-chain/Chain';
2
+ import { BlockaidTxValidationInputResolver } from '../resolver.js';
3
+ export declare const getSuiBlockaidTxValidationInput: BlockaidTxValidationInputResolver<OtherChain.Sui>;
4
+ //# sourceMappingURL=sui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,+BAA+B,EAAE,iCAAiC,CAC7E,UAAU,CAAC,GAAG,CAoBf,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { OtherChain } from '@vultisig/core-chain/Chain';
2
+ import { decodeSigningOutput } from '@vultisig/core-chain/tw/signingOutput';
3
+ import { assertField } from '@vultisig/lib-utils/record/assertField';
4
+ import { getCompiledTxsForBlockaidInput } from '../../../utils/getCompiledTxsForBlockaidInput.js';
5
+ export const getSuiBlockaidTxValidationInput = ({ payload, walletCore }) => {
6
+ const coin = assertField(payload, 'coin');
7
+ const compiledTxs = getCompiledTxsForBlockaidInput({
8
+ payload,
9
+ walletCore,
10
+ });
11
+ const [transaction] = compiledTxs.map(compiledTx => decodeSigningOutput(OtherChain.Sui, compiledTx).unsignedTx);
12
+ return {
13
+ chain: 'mainnet',
14
+ options: ['validation'],
15
+ account_address: coin.address,
16
+ transaction,
17
+ metadata: {},
18
+ };
19
+ };
20
+ //# sourceMappingURL=sui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.js","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/sui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAG9F,MAAM,CAAC,MAAM,+BAA+B,GAExC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEzC,MAAM,WAAW,GAAG,8BAA8B,CAAC;QACjD,OAAO;QACP,UAAU;KACX,CAAC,CAAA;IAEF,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,GAAG,CACnC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,UAAU,CACzE,CAAA;IAED,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,WAAW;QACX,QAAQ,EAAE,EAAE;KACb,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { UtxoChain } from '@vultisig/core-chain/Chain';
2
+ import { BlockaidTxValidationInputResolver } from '../resolver.js';
3
+ export declare const getUtxoBlockaidTxValidationInput: BlockaidTxValidationInputResolver<UtxoChain.Bitcoin>;
4
+ //# sourceMappingURL=utxo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAKtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,gCAAgC,EAAE,iCAAiC,CAC9E,SAAS,CAAC,OAAO,CAoBlB,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { decodeSigningOutput } from '@vultisig/core-chain/tw/signingOutput';
2
+ import { getKeysignCoin } from '@vultisig/core-mpc/keysign/utils/getKeysignCoin';
3
+ import { getCompiledTxsForBlockaidInput } from '../../../utils/getCompiledTxsForBlockaidInput.js';
4
+ export const getUtxoBlockaidTxValidationInput = ({ payload, walletCore, chain }) => {
5
+ const { address } = getKeysignCoin(payload);
6
+ const compiledTxs = getCompiledTxsForBlockaidInput({
7
+ payload,
8
+ walletCore,
9
+ });
10
+ const [transaction] = compiledTxs.map(compiledTx => decodeSigningOutput(chain, compiledTx).encoded);
11
+ return {
12
+ chain: chain.toLowerCase(),
13
+ options: ['validation'],
14
+ account_address: address,
15
+ transaction: Buffer.from(transaction).toString('hex'),
16
+ metadata: {},
17
+ };
18
+ };
19
+ //# sourceMappingURL=utxo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../../../../../../../../packages/core/mpc/security/blockaid/tx/validation/input/resolvers/utxo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAA;AAEhF,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAG9F,MAAM,CAAC,MAAM,gCAAgC,GAEzC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;IACrC,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAE3C,MAAM,WAAW,GAAG,8BAA8B,CAAC;QACjD,OAAO;QACP,UAAU;KACX,CAAC,CAAA;IAEF,MAAM,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,GAAG,CACnC,UAAU,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAC7D,CAAA;IAED,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrD,QAAQ,EAAE,EAAE;KACb,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { AccountCoin } from '@vultisig/core-chain/coin/AccountCoin';
2
+ import { NativeSwapQuote } from '@vultisig/core-chain/swap/native/NativeSwapQuote';
3
+ import { CommKeysignSwapPayload } from '../../../keysign/swap/KeysignSwapPayload.js';
4
+ type Input = {
5
+ quote: NativeSwapQuote;
6
+ fromCoin: AccountCoin & {
7
+ hexPublicKey: string;
8
+ };
9
+ toCoin: AccountCoin & {
10
+ hexPublicKey: string;
11
+ };
12
+ amount: bigint;
13
+ };
14
+ export declare const nativeSwapQuoteToSwapPayload: ({ quote, fromCoin, amount, toCoin, }: Input) => CommKeysignSwapPayload;
15
+ export {};
16
+ //# sourceMappingURL=nativeSwapQuoteToSwapPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeSwapQuoteToSwapPayload.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/swap/native/utils/nativeSwapQuoteToSwapPayload.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAKlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAIjF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,eAAe,CAAA;IACtB,QAAQ,EAAE,WAAW,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,MAAM,EAAE,WAAW,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,4BAA4B,GAAI,sCAK1C,KAAK,KAAG,sBA+BV,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { create } from '@bufbuild/protobuf';
2
+ import { fromChainAmount } from '@vultisig/core-chain/amount/fromChainAmount';
3
+ import { nativeSwapPayloadCase, nativeSwapStreamingInterval, } from '@vultisig/core-chain/swap/native/NativeSwapChain';
4
+ import { getNativeSwapDecimals } from '@vultisig/core-chain/swap/native/utils/getNativeSwapDecimals';
5
+ import { convertDuration } from '@vultisig/lib-utils/time/convertDuration';
6
+ import { addMinutes } from 'date-fns';
7
+ import { toCommCoin } from '../../../types/utils/commCoin.js';
8
+ import { THORChainSwapPayloadSchema } from '../../../types/vultisig/keysign/v1/thorchain_swap_payload_pb.js';
9
+ export const nativeSwapQuoteToSwapPayload = ({ quote, fromCoin, amount, toCoin, }) => {
10
+ const isAffiliate = !!quote.fees.affiliate && Number(quote.fees.affiliate) > 0;
11
+ const streamingInterval = nativeSwapStreamingInterval[quote.swapChain];
12
+ const toDecimals = getNativeSwapDecimals(toCoin);
13
+ return {
14
+ case: nativeSwapPayloadCase[quote.swapChain],
15
+ value: create(THORChainSwapPayloadSchema, {
16
+ fromAddress: fromCoin.address,
17
+ fromCoin: toCommCoin(fromCoin),
18
+ toCoin: toCommCoin(toCoin),
19
+ vaultAddress: quote.inbound_address ?? fromCoin.address,
20
+ routerAddress: quote.router,
21
+ fromAmount: amount.toString(),
22
+ toAmountDecimal: fromChainAmount(quote.expected_amount_out, toDecimals).toFixed(toDecimals),
23
+ expirationTime: BigInt(Math.round(convertDuration(addMinutes(Date.now(), 15).getTime(), 'ms', 's'))),
24
+ streamingInterval: streamingInterval.toString(),
25
+ streamingQuantity: '0',
26
+ toAmountLimit: '0',
27
+ isAffiliate,
28
+ }),
29
+ };
30
+ };
31
+ //# sourceMappingURL=nativeSwapQuoteToSwapPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeSwapQuoteToSwapPayload.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/swap/native/utils/nativeSwapQuoteToSwapPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAE7E,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,kDAAkD,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8DAA8D,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAA;AASzG,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,GACA,EAA0B,EAAE;IAClC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAE9E,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAEtE,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAEhD,OAAO;QACL,IAAI,EAAE,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QAC5C,KAAK,EAAE,MAAM,CAAC,0BAA0B,EAAE;YACxC,WAAW,EAAE,QAAQ,CAAC,OAAO;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;YAC1B,YAAY,EAAE,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,OAAO;YACvD,aAAa,EAAE,KAAK,CAAC,MAAM;YAC3B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC7B,eAAe,EAAE,eAAe,CAC9B,KAAK,CAAC,mBAAmB,EACzB,UAAU,CACX,CAAC,OAAO,CAAC,UAAU,CAAC;YACrB,cAAc,EAAE,MAAM,CACpB,IAAI,CAAC,KAAK,CACR,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CACjE,CACF;YACD,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,iBAAiB,EAAE,GAAG;YACtB,aAAa,EAAE,GAAG;YAClB,WAAW;SACZ,CAAC;KACH,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { KeysignSwapPayload } from '../../keysign/swap/KeysignSwapPayload.js';
3
+ type GetSwapTrackingUrlInput = {
4
+ swapPayload: KeysignSwapPayload;
5
+ txHash: string;
6
+ sourceChain: Chain;
7
+ };
8
+ export declare const getSwapTrackingUrl: ({ swapPayload, txHash, sourceChain, }: GetSwapTrackingUrlInput) => string;
9
+ export {};
10
+ //# sourceMappingURL=getSwapTrackingUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSwapTrackingUrl.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAKlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAE1E,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,KAAK,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,uCAIhC,uBAAuB,KAAG,MAuB5B,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { getBlockExplorerUrl } from '@vultisig/core-chain/utils/getBlockExplorerUrl';
3
+ import { stripHexPrefix } from '@vultisig/lib-utils/hex/stripHexPrefix';
4
+ import { matchRecordUnion } from '@vultisig/lib-utils/matchRecordUnion';
5
+ export const getSwapTrackingUrl = ({ swapPayload, txHash, sourceChain, }) => {
6
+ return matchRecordUnion(swapPayload, {
7
+ native: ({ chain }) => {
8
+ if (chain === Chain.THORChain) {
9
+ return `https://runescan.io/tx/${stripHexPrefix(txHash)}`;
10
+ }
11
+ return getBlockExplorerUrl({
12
+ chain,
13
+ entity: 'tx',
14
+ value: txHash,
15
+ });
16
+ },
17
+ general: ({ provider }) => {
18
+ if (provider === 'li.fi') {
19
+ return `https://scan.li.fi/tx/${txHash}`;
20
+ }
21
+ return getBlockExplorerUrl({
22
+ chain: sourceChain,
23
+ entity: 'tx',
24
+ value: txHash,
25
+ });
26
+ },
27
+ });
28
+ };
29
+ //# sourceMappingURL=getSwapTrackingUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSwapTrackingUrl.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/swap/utils/getSwapTrackingUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AAUvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,WAAW,EACX,MAAM,EACN,WAAW,GACa,EAAU,EAAE;IACpC,OAAO,gBAAgB,CAA6B,WAAW,EAAE;QAC/D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC9B,OAAO,0BAA0B,cAAc,CAAC,MAAM,CAAC,EAAE,CAAA;YAC3D,CAAC;YACD,OAAO,mBAAmB,CAAC;gBACzB,KAAK;gBACL,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACxB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,yBAAyB,MAAM,EAAE,CAAA;YAC1C,CAAC;YACD,OAAO,mBAAmB,CAAC;gBACzB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { WalletCore } from '@trustwallet/wallet-core';
2
+ import { PublicKey } from '@trustwallet/wallet-core/dist/src/wallet-core';
3
+ import { Chain } from '@vultisig/core-chain/Chain';
4
+ import { KeysignSignature } from '../../keysign/KeysignSignature.js';
5
+ type Input = {
6
+ publicKey: PublicKey;
7
+ txInputData: Uint8Array;
8
+ signatures: Record<string, KeysignSignature>;
9
+ chain: Chain;
10
+ walletCore: WalletCore;
11
+ };
12
+ export declare const compileTx: ({ publicKey, txInputData, signatures: keysignSignatures, chain, walletCore, }: Input) => Uint8Array<ArrayBufferLike>;
13
+ export {};
14
+ //# sourceMappingURL=compileTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileTx.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAM,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAEzE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AASlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMjE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,UAAU,CAAA;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC5C,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,+EAMvB,KAAK,gCAuGP,CAAA"}
@@ -0,0 +1,85 @@
1
+ import { fromBinary } from '@bufbuild/protobuf';
2
+ import { TW } from '@trustwallet/wallet-core';
3
+ import { Chain } from '@vultisig/core-chain/Chain';
4
+ import { getChainKind } from '@vultisig/core-chain/ChainKind';
5
+ import { assembleBittensorExtrinsic } from '@vultisig/core-chain/chains/bittensor/signing/buildExtrinsic';
6
+ import { getCoinType } from '@vultisig/core-chain/coin/coinType';
7
+ import { signatureFormats } from '@vultisig/core-chain/signing/SignatureFormat';
8
+ import { assertSignature } from '@vultisig/core-chain/utils/assertSignature';
9
+ import { getQBTCSignedTransaction } from '../../chains/cosmos/qbtc/QBTCHelper.js';
10
+ import { getBlockchainSpecificValue } from '../../keysign/chainSpecific/KeysignChainSpecific.js';
11
+ import { decodeBittensorTxInput } from '../../keysign/signingInputs/resolvers/bittensor.js';
12
+ import { KeysignPayloadSchema } from '../../types/vultisig/keysign/v1/keysign_message_pb.js';
13
+ import { getPreSigningHashes } from '../preSigningHashes.js';
14
+ import { generateSignature } from '../signature/generateSignature.js';
15
+ export const compileTx = ({ publicKey, txInputData, signatures: keysignSignatures, chain, walletCore, }) => {
16
+ if (chain === Chain.QBTC) {
17
+ const keysignPayload = fromBinary(KeysignPayloadSchema, txInputData);
18
+ const cosmosSpecific = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'cosmosSpecific');
19
+ const hashHexes = getPreSigningHashes({
20
+ walletCore,
21
+ txInputData,
22
+ chain,
23
+ }).map(h => Buffer.from(h).toString('hex'));
24
+ const qbtcSignatures = Object.fromEntries(hashHexes.map(hex => [hex, keysignSignatures[hex]]));
25
+ const { serialized } = getQBTCSignedTransaction({
26
+ keysignPayload,
27
+ cosmosSpecific,
28
+ signatures: qbtcSignatures,
29
+ });
30
+ return TW.Cosmos.Proto.SigningOutput.encode(TW.Cosmos.Proto.SigningOutput.create({ serialized })).finish();
31
+ }
32
+ const hashes = getPreSigningHashes({
33
+ walletCore,
34
+ txInputData,
35
+ chain,
36
+ });
37
+ const chainKind = getChainKind(chain);
38
+ const signatureFormat = signatureFormats[chainKind];
39
+ if (chain === Chain.Bittensor) {
40
+ const hash = hashes[0];
41
+ const hashHex = Buffer.from(hash).toString('hex');
42
+ const sig = generateSignature({
43
+ walletCore,
44
+ signature: keysignSignatures[hashHex],
45
+ signatureFormat,
46
+ });
47
+ assertSignature({
48
+ publicKey,
49
+ message: hash,
50
+ signature: sig,
51
+ signatureFormat,
52
+ });
53
+ const { callData, signedExtra } = decodeBittensorTxInput(txInputData);
54
+ const signerPubkey = new Uint8Array(publicKey.data());
55
+ const extrinsic = assembleBittensorExtrinsic(signerPubkey, new Uint8Array(sig), callData, signedExtra);
56
+ return TW.Polkadot.Proto.SigningOutput.encode(TW.Polkadot.Proto.SigningOutput.create({
57
+ encoded: extrinsic,
58
+ })).finish();
59
+ }
60
+ const allSignatures = walletCore.DataVector.create();
61
+ const publicKeys = walletCore.DataVector.create();
62
+ hashes.forEach(hash => {
63
+ const signature = generateSignature({
64
+ walletCore,
65
+ signature: keysignSignatures[Buffer.from(hash).toString('hex')],
66
+ signatureFormat,
67
+ });
68
+ assertSignature({
69
+ publicKey,
70
+ message: hash,
71
+ signature,
72
+ signatureFormat,
73
+ });
74
+ allSignatures.add(signature);
75
+ if (chainKind !== 'evm') {
76
+ publicKeys.add(publicKey.data());
77
+ }
78
+ });
79
+ const coinType = getCoinType({
80
+ chain,
81
+ walletCore,
82
+ });
83
+ return walletCore.TransactionCompiler.compileWithSignatures(coinType, txInputData, allSignatures, publicKeys);
84
+ };
85
+ //# sourceMappingURL=compileTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileTx.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/compile/compileTx.ts"],"names":[],"mappings":"AAAA,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,0BAA0B,EAAE,MAAM,kDAAkD,CAAA;AAE7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAA;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAUlE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,SAAS,EACT,WAAW,EACX,UAAU,EAAE,iBAAiB,EAC7B,KAAK,EACL,UAAU,GACJ,EAAE,EAAE;IACV,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;QACpE,MAAM,cAAc,GAAG,0BAA0B,CAC/C,cAAc,CAAC,kBAAkB,EACjC,gBAAgB,CACjB,CAAA;QACD,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,UAAU;YACV,WAAW;YACX,KAAK;SACN,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CACpD,CAAA;QACD,MAAM,EAAE,UAAU,EAAE,GAAG,wBAAwB,CAAC;YAC9C,cAAc;YACd,cAAc;YACd,UAAU,EAAE,cAAc;SAC3B,CAAC,CAAA;QACF,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CACzC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CACrD,CAAC,MAAM,EAAE,CAAA;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,UAAU;QACV,WAAW;QACX,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAEnD,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEjD,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC5B,UAAU;YACV,SAAS,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACrC,eAAe;SAChB,CAAC,CAAA;QAEF,eAAe,CAAC;YACd,SAAS;YACT,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,GAAG;YACd,eAAe;SAChB,CAAC,CAAA;QAEF,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAErD,MAAM,SAAS,GAAG,0BAA0B,CAC1C,YAAY,EACZ,IAAI,UAAU,CAAC,GAAG,CAAC,EACnB,QAAQ,EACR,WAAW,CACZ,CAAA;QAED,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAC3C,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,SAAS;SACnB,CAAC,CACH,CAAC,MAAM,EAAE,CAAA;IACZ,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAA;IAEjD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpB,MAAM,SAAS,GAAG,iBAAiB,CAAC;YAClC,UAAU;YACV,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,eAAe;SAChB,CAAC,CAAA;QAEF,eAAe,CAAC;YACd,SAAS;YACT,OAAO,EAAE,IAAI;YACb,SAAS;YACT,eAAe;SAChB,CAAC,CAAA;QAEF,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE5B,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;QAClC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,KAAK;QACL,UAAU;KACX,CAAC,CAAA;IAEF,OAAO,UAAU,CAAC,mBAAmB,CAAC,qBAAqB,CACzD,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { WalletCore } from '@trustwallet/wallet-core';
3
+ type Input = {
4
+ walletCore: WalletCore;
5
+ chain: Chain;
6
+ txInputData: Uint8Array;
7
+ };
8
+ export declare const getPreSigningHashes: ({ walletCore, txInputData, chain, }: Input) => Uint8Array<ArrayBufferLike>[];
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAOlD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAKrD,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,qCAIjC,KAAK,kCA+CP,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { Chain } from '@vultisig/core-chain/Chain';
2
+ import { fromBinary } from '@bufbuild/protobuf';
3
+ import { decodeBittensorTxInput } from '../../keysign/signingInputs/resolvers/bittensor.js';
4
+ import { getQBTCPreSignedImageHash } from '../../chains/cosmos/qbtc/QBTCHelper.js';
5
+ import { without } from '@vultisig/lib-utils/array/without';
6
+ import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
7
+ import { blake2AsU8a } from '@polkadot/util-crypto';
8
+ import { getBlockchainSpecificValue } from '../../keysign/chainSpecific/KeysignChainSpecific.js';
9
+ import { getPreSigningOutput } from '../../keysign/preSigningOutput.js';
10
+ import { KeysignPayloadSchema } from '../../types/vultisig/keysign/v1/keysign_message_pb.js';
11
+ export const getPreSigningHashes = ({ walletCore, txInputData, chain, }) => {
12
+ if (chain === Chain.QBTC) {
13
+ const keysignPayload = fromBinary(KeysignPayloadSchema, txInputData);
14
+ const cosmosSpecific = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'cosmosSpecific');
15
+ return getQBTCPreSignedImageHash({ keysignPayload, cosmosSpecific });
16
+ }
17
+ if (chain === Chain.Bittensor) {
18
+ const { payload } = decodeBittensorTxInput(txInputData);
19
+ const toSign = payload.length > 256 ? blake2AsU8a(payload, 256) : payload;
20
+ return [toSign];
21
+ }
22
+ const output = getPreSigningOutput({
23
+ walletCore,
24
+ txInputData,
25
+ chain,
26
+ });
27
+ if ('preSigningResultV2' in output && output.preSigningResultV2 !== null) {
28
+ const preSigningResultV2 = shouldBePresent(output.preSigningResultV2);
29
+ const sighashes = shouldBePresent(preSigningResultV2.sighashes);
30
+ return without(sighashes.map(hash => hash?.sighash), null, undefined);
31
+ }
32
+ if ('hashPublicKeys' in output) {
33
+ return without(output.hashPublicKeys.map(hash => hash?.dataHash), null, undefined);
34
+ }
35
+ const { data } = output;
36
+ if ('dataHash' in output && output.dataHash.length > 0) {
37
+ return [output.dataHash];
38
+ }
39
+ return [data];
40
+ };
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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,sBAAsB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAA;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAA;AAQzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,UAAU,EACV,WAAW,EACX,KAAK,GACC,EAAE,EAAE;IACV,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;QACpE,MAAM,cAAc,GAAG,0BAA0B,CAC/C,cAAc,CAAC,kBAAkB,EACjC,gBAAgB,CACjB,CAAA;QACD,OAAO,yBAAyB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACzE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,UAAU;QACV,WAAW;QACX,KAAK;KACN,CAAC,CAAA;IAEF,IAAI,oBAAoB,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;QACzE,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAC/D,OAAO,OAAO,CACZ,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EACpC,IAAI,EACJ,SAAS,CACV,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;QAC/B,OAAO,OAAO,CACZ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EACjD,IAAI,EACJ,SAAS,CACV,CAAA;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAEvB,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { SignatureFormat } from '@vultisig/core-chain/signing/SignatureFormat';
2
+ import { WalletCore } from '@trustwallet/wallet-core';
3
+ import { KeysignSignature } from '../../keysign/KeysignSignature.js';
4
+ type Input = {
5
+ walletCore: WalletCore;
6
+ signature: KeysignSignature;
7
+ signatureFormat: SignatureFormat;
8
+ };
9
+ export declare const generateSignature: ({ walletCore, signature, signatureFormat, }: Input) => Uint8Array<ArrayBufferLike>;
10
+ export {};
11
+ //# sourceMappingURL=generateSignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSignature.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/signature/generateSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAK9E,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,KAAK,KAAK,GAAG;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,6CAI/B,KAAK,gCAqBP,CAAA"}
@@ -0,0 +1,20 @@
1
+ import { without } from '@vultisig/lib-utils/array/without';
2
+ import { match } from '@vultisig/lib-utils/match';
3
+ import { pick } from '@vultisig/lib-utils/record/pick';
4
+ import { recordMap } from '@vultisig/lib-utils/record/recordMap';
5
+ export const generateSignature = ({ walletCore, signature, signatureFormat, }) => {
6
+ return match(signatureFormat, {
7
+ rawWithRecoveryId: () => {
8
+ const [r, s, recovery_id] = without([signature.r, signature.s, signature.recovery_id], undefined).map(value => walletCore.HexCoding.decode(value));
9
+ return new Uint8Array([...r, ...s, ...recovery_id]);
10
+ },
11
+ raw: () => {
12
+ const { r, s } = recordMap(pick(signature, ['r', 's']), value => walletCore.HexCoding.decode(value).reverse());
13
+ return new Uint8Array([...r, ...s]);
14
+ },
15
+ der: () => {
16
+ return walletCore.HexCoding.decode(signature.der_signature);
17
+ },
18
+ });
19
+ };
20
+ //# sourceMappingURL=generateSignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSignature.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/tx/signature/generateSignature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAWhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,UAAU,EACV,SAAS,EACT,eAAe,GACT,EAAE,EAAE;IACV,OAAO,KAAK,CAAC,eAAe,EAAE;QAC5B,iBAAiB,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,GAAG,OAAO,CACjC,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,EACjD,SAAS,CACV,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAElD,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAC9D,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAC7C,CAAA;YAED,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,GAAG,EAAE,GAAG,EAAE;YACR,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}