@vultisig/core-chain 1.3.1 → 1.4.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 (84) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/chains/evm/contract/universalRouter/decode.d.ts +12 -0
  3. package/dist/chains/evm/contract/universalRouter/decode.d.ts.map +1 -0
  4. package/dist/chains/evm/contract/universalRouter/decode.js +333 -0
  5. package/dist/chains/evm/contract/universalRouter/decode.js.map +1 -0
  6. package/dist/chains/evm/contract/universalRouter/opcodes.d.ts +39 -0
  7. package/dist/chains/evm/contract/universalRouter/opcodes.d.ts.map +1 -0
  8. package/dist/chains/evm/contract/universalRouter/opcodes.js +39 -0
  9. package/dist/chains/evm/contract/universalRouter/opcodes.js.map +1 -0
  10. package/dist/chains/evm/contract/universalRouter/types.d.ts +24 -0
  11. package/dist/chains/evm/contract/universalRouter/types.d.ts.map +1 -0
  12. package/dist/chains/evm/contract/universalRouter/types.js +2 -0
  13. package/dist/chains/evm/contract/universalRouter/types.js.map +1 -0
  14. package/dist/chains/solana/client.d.ts.map +1 -1
  15. package/dist/chains/solana/client.js +1 -3
  16. package/dist/chains/solana/client.js.map +1 -1
  17. package/dist/coin/balance/resolvers/bittensor.d.ts.map +1 -1
  18. package/dist/coin/balance/resolvers/bittensor.js +16 -6
  19. package/dist/coin/balance/resolvers/bittensor.js.map +1 -1
  20. package/dist/publicKey/ecdsa/derivePublicKey.d.ts.map +1 -1
  21. package/dist/publicKey/ecdsa/derivePublicKey.js +6 -0
  22. package/dist/publicKey/ecdsa/derivePublicKey.js.map +1 -1
  23. package/dist/security/blockaid/tx/simulation/api/core.d.ts.map +1 -1
  24. package/dist/security/blockaid/tx/simulation/api/core.js +30 -29
  25. package/dist/security/blockaid/tx/simulation/api/core.js.map +1 -1
  26. package/dist/swap/general/kyber/api/quote.d.ts +2 -2
  27. package/dist/swap/general/kyber/api/quote.d.ts.map +1 -1
  28. package/dist/swap/general/kyber/api/quote.js +6 -4
  29. package/dist/swap/general/kyber/api/quote.js.map +1 -1
  30. package/dist/swap/general/kyber/api/route.d.ts +2 -2
  31. package/dist/swap/general/kyber/api/route.d.ts.map +1 -1
  32. package/dist/swap/general/kyber/api/route.js +3 -3
  33. package/dist/swap/general/kyber/api/route.js.map +1 -1
  34. package/dist/swap/general/kyber/api/tx.d.ts +4 -4
  35. package/dist/swap/general/kyber/api/tx.d.ts.map +1 -1
  36. package/dist/swap/general/kyber/api/tx.js +23 -3
  37. package/dist/swap/general/kyber/api/tx.js.map +1 -1
  38. package/dist/swap/general/kyber/config.d.ts +8 -0
  39. package/dist/swap/general/kyber/config.d.ts.map +1 -1
  40. package/dist/swap/general/kyber/config.js +10 -0
  41. package/dist/swap/general/kyber/config.js.map +1 -1
  42. package/dist/swap/quote/findSwapQuote.js +2 -2
  43. package/dist/swap/quote/findSwapQuote.js.map +1 -1
  44. package/dist/tx/broadcast/resolvers/bittensor.d.ts.map +1 -1
  45. package/dist/tx/broadcast/resolvers/bittensor.js +5 -3
  46. package/dist/tx/broadcast/resolvers/bittensor.js.map +1 -1
  47. package/dist/tx/broadcast/resolvers/cardano.d.ts.map +1 -1
  48. package/dist/tx/broadcast/resolvers/cardano.js +4 -1
  49. package/dist/tx/broadcast/resolvers/cardano.js.map +1 -1
  50. package/dist/tx/broadcast/resolvers/cosmos.d.ts.map +1 -1
  51. package/dist/tx/broadcast/resolvers/cosmos.js +9 -3
  52. package/dist/tx/broadcast/resolvers/cosmos.js.map +1 -1
  53. package/dist/tx/broadcast/resolvers/evm.d.ts.map +1 -1
  54. package/dist/tx/broadcast/resolvers/evm.js +7 -3
  55. package/dist/tx/broadcast/resolvers/evm.js.map +1 -1
  56. package/dist/tx/broadcast/resolvers/polkadot.d.ts.map +1 -1
  57. package/dist/tx/broadcast/resolvers/polkadot.js +25 -10
  58. package/dist/tx/broadcast/resolvers/polkadot.js.map +1 -1
  59. package/dist/tx/broadcast/resolvers/qbtc.d.ts.map +1 -1
  60. package/dist/tx/broadcast/resolvers/qbtc.js +12 -4
  61. package/dist/tx/broadcast/resolvers/qbtc.js.map +1 -1
  62. package/dist/tx/broadcast/resolvers/ripple.d.ts.map +1 -1
  63. package/dist/tx/broadcast/resolvers/ripple.js +22 -5
  64. package/dist/tx/broadcast/resolvers/ripple.js.map +1 -1
  65. package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
  66. package/dist/tx/broadcast/resolvers/solana.js +13 -7
  67. package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
  68. package/dist/tx/broadcast/resolvers/sui.d.ts.map +1 -1
  69. package/dist/tx/broadcast/resolvers/sui.js +12 -4
  70. package/dist/tx/broadcast/resolvers/sui.js.map +1 -1
  71. package/dist/tx/broadcast/resolvers/ton.d.ts.map +1 -1
  72. package/dist/tx/broadcast/resolvers/ton.js +8 -3
  73. package/dist/tx/broadcast/resolvers/ton.js.map +1 -1
  74. package/dist/tx/broadcast/resolvers/tron.d.ts.map +1 -1
  75. package/dist/tx/broadcast/resolvers/tron.js +16 -10
  76. package/dist/tx/broadcast/resolvers/tron.js.map +1 -1
  77. package/dist/tx/broadcast/resolvers/utxo.d.ts.map +1 -1
  78. package/dist/tx/broadcast/resolvers/utxo.js +4 -1
  79. package/dist/tx/broadcast/resolvers/utxo.js.map +1 -1
  80. package/dist/tx/broadcast/verifyBroadcastByHash.d.ts +29 -0
  81. package/dist/tx/broadcast/verifyBroadcastByHash.d.ts.map +1 -0
  82. package/dist/tx/broadcast/verifyBroadcastByHash.js +35 -0
  83. package/dist/tx/broadcast/verifyBroadcastByHash.js.map +1 -0
  84. package/package.json +21 -1
@@ -17,6 +17,12 @@ export const derivePublicKey = ({ hexRootPubKey, hexChainCode, path, }) => {
17
17
  }
18
18
  const pathBuf = getDerivePathBytes(path);
19
19
  const derivedKey = derivePubKeyFromPath(pubKeyBuf, chainCodeBuf, pathBuf);
20
+ if (derivedKey.length === 0) {
21
+ throw new Error(`derivePublicKey: produced a zero-length public key for path ${path}. ` +
22
+ 'This indicates that `bip32` or `tiny-secp256k1` is being stubbed out by your bundler ' +
23
+ '(commonly a Metro `resolveRequest` / `SDK_EXTERNAL_STUBS` list). ' +
24
+ 'The Vultisig SDK inlines these into its React Native bundle — do not stub them in consumer metro config.');
25
+ }
20
26
  return Buffer.from(derivedKey).toString('hex');
21
27
  };
22
28
  const getDerivePathBytes = (derivePath) => {
@@ -1 +1 @@
1
- {"version":3,"file":"derivePublicKey.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/publicKey/ecdsa/derivePublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAA;AAQrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,aAAa,EACb,YAAY,EACZ,IAAI,GACiB,EAAU,EAAE;IACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IACrD,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAY,EAAE;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAChC,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACvD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;QACrD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AACD,MAAM,cAAc,GAAG,UAAU,CAAA;AACjC,MAAM,oBAAoB,GAAG,CAC3B,MAAkB,EAClB,SAAqB,EACrB,IAAc,EACF,EAAE;IACd,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEvD,IAAI,WAAW,GAAG,QAAQ,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,qBAAqB,CAClE,CAAA;QACH,CAAC;QACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,WAAW,CAAC,SAAS,CAAA;AAC9B,CAAC,CAAA"}
1
+ {"version":3,"file":"derivePublicKey.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/publicKey/ecdsa/derivePublicKey.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE;QACf,mBAAmB,EAAE,KAAK,CAAC;YACzB,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;gBACrB,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,MAAM,CAAC,EAAE,MAAM,CAAA;gBACf,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;aACb,CAAA;YACD,EAAE,EAAE;gBACF,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,GAAG,EAAE;gBACH,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,UAAU,EAAE,OAAO,GAAG,KAAK,CAAA;SAC5B,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE;QACf,YAAY,EAAE,KAAK,CAAC;YAClB,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAA;YAC9B,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;gBACxB,UAAU,EAAE,MAAM,CAAA;gBAClB,QAAQ,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,EAAE,EAAE,KAAK,CAAC;gBACR,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,GAAG,EAAE,KAAK,CAAC;gBACT,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,eAAe,EAAE;gBACf,MAAM,EAAE;oBACN,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;aACF,CAAA;SACF,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,YAAY,wBAAwB,KACnC,OAAO,CAAC,4BAA4B,CAmFtC,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,YAAY,qBAAqB,EACjC,OAAO,QAAQ,KACd,OAAO,CAAC,yBAAyB,CA8EnC,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAIrD,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAEjF,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE;QACf,mBAAmB,EAAE,KAAK,CAAC;YACzB,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;gBACrB,IAAI,CAAC,EAAE,MAAM,CAAA;gBACb,MAAM,CAAC,EAAE,MAAM,CAAA;gBACf,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;aACb,CAAA;YACD,EAAE,EAAE;gBACF,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,GAAG,EAAE;gBACH,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,GAAG,IAAI,CAAA;YACR,UAAU,EAAE,OAAO,GAAG,KAAK,CAAA;SAC5B,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE;QACf,YAAY,EAAE,KAAK,CAAC;YAClB,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAA;YAC9B,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAA;gBACxB,UAAU,EAAE,MAAM,CAAA;gBAClB,QAAQ,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,IAAI,EAAE,MAAM,CAAA;gBACZ,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,EAAE,EAAE,KAAK,CAAC;gBACR,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,GAAG,EAAE,KAAK,CAAC;gBACT,SAAS,EAAE,MAAM,CAAA;gBACjB,OAAO,EAAE,MAAM,CAAA;gBACf,KAAK,EAAE,MAAM,CAAA;gBACb,SAAS,EAAE,MAAM,CAAA;aAClB,CAAC,CAAA;YACF,eAAe,EAAE;gBACf,MAAM,EAAE;oBACN,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,KAAK,EAAE;oBACL,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,MAAM,CAAA;oBACb,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;aACF,CAAA;SACF,CAAC,CAAA;KACH,CAAA;CACF,CAAA;AAED,eAAO,MAAM,6BAA6B,GACxC,YAAY,wBAAwB,KACnC,OAAO,CAAC,4BAA4B,CA2EtC,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,YAAY,qBAAqB,EACjC,OAAO,QAAQ,KACd,OAAO,CAAC,yBAAyB,CAoFnC,CAAA"}
@@ -48,12 +48,8 @@ export const parseBlockaidSolanaSimulation = async (simulation) => {
48
48
  if (outAsset && inAsset && outValue && inValue) {
49
49
  return {
50
50
  swap: {
51
- fromMint: outAsset.type === 'SOL'
52
- ? 'So11111111111111111111111111111111111111112'
53
- : shouldBePresent(outAsset.address),
54
- toMint: inAsset.type === 'SOL'
55
- ? 'So11111111111111111111111111111111111111112'
56
- : shouldBePresent(inAsset.address),
51
+ fromMint: outAsset.type === 'SOL' ? 'So11111111111111111111111111111111111111112' : shouldBePresent(outAsset.address),
52
+ toMint: inAsset.type === 'SOL' ? 'So11111111111111111111111111111111111111112' : shouldBePresent(inAsset.address),
57
53
  fromAmount: BigInt(shouldBePresent(outValue).raw_value),
58
54
  toAmount: BigInt(shouldBePresent(inValue).raw_value),
59
55
  toAssetDecimal: inAsset.decimals,
@@ -63,9 +59,7 @@ export const parseBlockaidSolanaSimulation = async (simulation) => {
63
59
  else if (outAsset && outValue) {
64
60
  return {
65
61
  transfer: {
66
- fromMint: outAsset.type === 'SOL'
67
- ? 'So11111111111111111111111111111111111111112'
68
- : shouldBePresent(outAsset.address),
62
+ fromMint: outAsset.type === 'SOL' ? 'So11111111111111111111111111111111111111112' : shouldBePresent(outAsset.address),
69
63
  fromAmount: BigInt(shouldBePresent(outValue).raw_value),
70
64
  },
71
65
  };
@@ -97,28 +91,35 @@ export const parseBlockaidEvmSimulation = async (simulation, chain) => {
97
91
  };
98
92
  }
99
93
  else if (assetDiffs.length > 1) {
100
- const [potentialOutAsset, potentialInAsset] = assetDiffs;
101
- const { inAsset, inValue } = potentialInAsset.in.length > 0
102
- ? {
103
- inAsset: potentialInAsset.asset,
104
- inValue: potentialInAsset.in,
105
- }
106
- : {
107
- inAsset: potentialOutAsset.asset,
108
- inValue: potentialOutAsset.in,
109
- };
110
- const { outAsset, outValue } = potentialOutAsset.out.length > 0
111
- ? {
112
- outAsset: potentialOutAsset.asset,
113
- outValue: potentialOutAsset.out,
114
- }
115
- : {
116
- outAsset: potentialInAsset.asset,
117
- outValue: potentialInAsset.out,
118
- };
119
- if (outValue.length === 0 || inValue.length === 0) {
94
+ // Router-mediated flows (e.g. `permitAndCall`) often return three diffs
95
+ // with an intermediate permit/allowance leg between the user's `out` and
96
+ // `in` sides. Scan all diffs instead of using positional destructuring so
97
+ // the user-side pair is recovered regardless of order, and prefer an
98
+ // in-side asset that differs from the out-side asset (case-insensitive,
99
+ // since EIP-55 checksums vary by casing). Mirrors the iOS parser.
100
+ const outDiff = assetDiffs.find(diff => diff.out.length > 0);
101
+ if (!outDiff) {
102
+ return null;
103
+ }
104
+ const outAddress = outDiff.asset.address?.toLowerCase();
105
+ const inDiff = assetDiffs.find(diff => diff.in.length > 0 && diff.asset.address?.toLowerCase() !== outAddress) ??
106
+ assetDiffs.find(diff => diff.in.length > 0);
107
+ if (!inDiff) {
108
+ return null;
109
+ }
110
+ // Address is the primary identity for a token; symbol is just metadata
111
+ // and Blockaid sometimes returns inconsistent casing (`USDC` vs `usdc`)
112
+ // for the same contract. Reject refund-shaped pairs by address alone so
113
+ // we don't render a nonsense `A A` swap when the in-side fallback
114
+ // matches the out-side asset.
115
+ const inAddress = inDiff.asset.address?.toLowerCase();
116
+ if (outAddress === inAddress) {
120
117
  return null;
121
118
  }
119
+ const outAsset = outDiff.asset;
120
+ const outValue = outDiff.out;
121
+ const inAsset = inDiff.asset;
122
+ const inValue = inDiff.in;
122
123
  return {
123
124
  swap: {
124
125
  fromCoin: {
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import { GeneralSwapQuote } from '../../GeneralSwapQuote.js';
4
4
  import { KyberSwapEnabledChain } from '../chains.js';
5
5
  type Input = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
6
6
  amount: bigint;
7
- isAffiliate: boolean;
7
+ affiliateBps?: number;
8
8
  };
9
- export declare const getKyberSwapQuote: ({ from, to, amount, isAffiliate, }: Input) => Promise<GeneralSwapQuote>;
9
+ export declare const getKyberSwapQuote: ({ from, to, amount, affiliateBps, }: Input) => Promise<GeneralSwapQuote>;
10
10
  export {};
11
11
  //# sourceMappingURL=quote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAIjD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,oCAKrC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAoClC,CAAA"}
1
+ {"version":3,"file":"quote.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAIjD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,qCAKrC,KAAK,KAAG,OAAO,CAAC,gBAAgB,CAsClC,CAAA"}
@@ -2,31 +2,33 @@ import { attempt } from '@vultisig/lib-utils/attempt';
2
2
  import { isInError } from '@vultisig/lib-utils/error/isInError';
3
3
  import { getKyberSwapRoute } from './route.js';
4
4
  import { getKyberSwapTx } from './tx.js';
5
- export const getKyberSwapQuote = async ({ from, to, amount, isAffiliate, }) => {
5
+ export const getKyberSwapQuote = async ({ from, to, amount, affiliateBps, }) => {
6
6
  const { routeSummary, routerAddress } = await getKyberSwapRoute({
7
7
  from,
8
8
  to,
9
9
  amount,
10
- isAffiliate,
10
+ affiliateBps,
11
11
  });
12
12
  const tx = await attempt(getKyberSwapTx({
13
13
  from,
14
+ to,
14
15
  routeSummary,
15
16
  routerAddress,
16
17
  amount,
17
18
  enableGasEstimation: true,
18
- isAffiliate,
19
+ affiliateBps,
19
20
  }));
20
21
  if ('error' in tx) {
21
22
  const { error } = tx;
22
23
  if (isInError(error, 'TransferHelper')) {
23
24
  return getKyberSwapTx({
24
25
  from,
26
+ to,
25
27
  routeSummary,
26
28
  routerAddress,
27
29
  amount,
28
30
  enableGasEstimation: false,
29
- isAffiliate,
31
+ affiliateBps,
30
32
  });
31
33
  }
32
34
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAK/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAOrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,WAAW,GACL,EAA6B,EAAE;IACrC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC;QAC9D,IAAI;QACJ,EAAE;QACF,MAAM;QACN,WAAW;KACZ,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,cAAc,CAAC;QACb,IAAI;QACJ,YAAY;QACZ,aAAa;QACb,MAAM;QACN,mBAAmB,EAAE,IAAI;QACzB,WAAW;KACZ,CAAC,CACH,CAAA;IAED,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;QACpB,IAAI,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;gBACpB,IAAI;gBACJ,YAAY;gBACZ,aAAa;gBACb,MAAM;gBACN,mBAAmB,EAAE,KAAK;gBAC1B,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,KAAK,CAAA;IACb,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAK/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAOrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAY,GACN,EAA6B,EAAE;IACrC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,iBAAiB,CAAC;QAC9D,IAAI;QACJ,EAAE;QACF,MAAM;QACN,YAAY;KACb,CAAC,CAAA;IAEF,MAAM,EAAE,GAAG,MAAM,OAAO,CACtB,cAAc,CAAC;QACb,IAAI;QACJ,EAAE;QACF,YAAY;QACZ,aAAa;QACb,MAAM;QACN,mBAAmB,EAAE,IAAI;QACzB,YAAY;KACb,CAAC,CACH,CAAA;IAED,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;QACpB,IAAI,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACvC,OAAO,cAAc,CAAC;gBACpB,IAAI;gBACJ,EAAE;gBACF,YAAY;gBACZ,aAAa;gBACb,MAAM;gBACN,mBAAmB,EAAE,KAAK;gBAC1B,YAAY;aACb,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,KAAK,CAAA;IACb,CAAC;IAED,OAAO,EAAE,CAAC,IAAI,CAAA;AAChB,CAAC,CAAA"}
@@ -3,12 +3,12 @@ import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
3
3
  import { KyberSwapEnabledChain } from '../chains.js';
4
4
  type Input = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
5
5
  amount: bigint;
6
- isAffiliate: boolean;
6
+ affiliateBps?: number;
7
7
  };
8
8
  type KyberSwapRoute = {
9
9
  routeSummary: any;
10
10
  routerAddress: string;
11
11
  };
12
- export declare const getKyberSwapRoute: ({ from, to, amount, isAffiliate, }: Input) => Promise<KyberSwapRoute>;
12
+ export declare const getKyberSwapRoute: ({ from, to, amount, affiliateBps, }: Input) => Promise<KyberSwapRoute>;
13
13
  export {};
14
14
  //# sourceMappingURL=route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAIjD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAoBD,eAAO,MAAM,iBAAiB,GAAU,oCAKrC,KAAK,KAAG,OAAO,CAAC,cAAc,CA2BhC,CAAA"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AASjD,KAAK,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC,GAAG;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAkBD,eAAO,MAAM,iBAAiB,GAAU,qCAKrC,KAAK,KAAG,OAAO,CAAC,cAAc,CA2BhC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { addQueryParams } from '@vultisig/lib-utils/query/addQueryParams';
2
2
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
3
3
  import { evmNativeCoinAddress } from '../../../../chains/evm/config.js';
4
- import { kyberSwapAffiliateConfig, kyberSwapSlippageTolerance } from '../config.js';
4
+ import { getKyberSwapAffiliateParams, kyberSwapAffiliateConfig, kyberSwapSlippageTolerance, } from '../config.js';
5
5
  import { getKyberSwapBaseUrl } from './baseUrl.js';
6
- export const getKyberSwapRoute = async ({ from, to, amount, isAffiliate, }) => {
6
+ export const getKyberSwapRoute = async ({ from, to, amount, affiliateBps, }) => {
7
7
  const [tokenIn, tokenOut] = [from, to].map(({ id }) => id || evmNativeCoinAddress);
8
8
  const routeParams = {
9
9
  tokenIn,
@@ -12,7 +12,7 @@ export const getKyberSwapRoute = async ({ from, to, amount, isAffiliate, }) => {
12
12
  saveGas: true,
13
13
  gasInclude: true,
14
14
  slippageTolerance: kyberSwapSlippageTolerance,
15
- ...(isAffiliate ? kyberSwapAffiliateConfig : {}),
15
+ ...getKyberSwapAffiliateParams(affiliateBps),
16
16
  };
17
17
  const routeUrl = addQueryParams(`${getKyberSwapBaseUrl(from.chain)}/routes`, routeParams);
18
18
  const { data } = await queryUrl(routeUrl, {
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AA8B/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,WAAW,GACL,EAA2B,EAAE;IACnC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CACxC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,oBAAoB,CACvC,CAAA;IAED,MAAM,WAAW,GAAyB;QACxC,OAAO;QACP,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,0BAA0B;QAC7C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAA;IAED,MAAM,QAAQ,GAAG,cAAc,CAC7B,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAC3C,WAAW,CACZ,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAyB,QAAQ,EAAE;QAChE,OAAO,EAAE;YACP,aAAa,EAAE,wBAAwB,CAAC,MAAM;SAC/C;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,OAAO,EAEL,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AA4B/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAY,GACN,EAA2B,EAAE;IACnC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CACxC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,oBAAoB,CACvC,CAAA;IAED,MAAM,WAAW,GAAyB;QACxC,OAAO;QACP,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,iBAAiB,EAAE,0BAA0B;QAC7C,GAAG,2BAA2B,CAAC,YAAY,CAAC;KAC7C,CAAA;IAED,MAAM,QAAQ,GAAG,cAAc,CAC7B,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAC3C,WAAW,CACZ,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAyB,QAAQ,EAAE;QAChE,OAAO,EAAE;YACP,aAAa,EAAE,wBAAwB,CAAC,MAAM;SAC/C;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -1,14 +1,14 @@
1
+ import { TransferDirection } from '@vultisig/lib-utils/TransferDirection';
1
2
  import { AccountCoin } from '../../../../coin/AccountCoin.js';
2
3
  import { GeneralSwapQuote } from '../../GeneralSwapQuote.js';
3
4
  import { KyberSwapEnabledChain } from '../chains.js';
4
- type GetKyberSwapTxInput = {
5
- from: AccountCoin<KyberSwapEnabledChain>;
5
+ type GetKyberSwapTxInput = Record<TransferDirection, AccountCoin<KyberSwapEnabledChain>> & {
6
6
  routeSummary: any;
7
7
  routerAddress: string;
8
8
  amount: bigint;
9
9
  enableGasEstimation: boolean;
10
- isAffiliate: boolean;
10
+ affiliateBps?: number;
11
11
  };
12
- export declare const getKyberSwapTx: ({ from, routeSummary, routerAddress, amount, enableGasEstimation, isAffiliate, }: GetKyberSwapTxInput) => Promise<GeneralSwapQuote>;
12
+ export declare const getKyberSwapTx: ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, }: GetKyberSwapTxInput) => Promise<GeneralSwapQuote>;
13
13
  export {};
14
14
  //# sourceMappingURL=tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAQjD,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAA;IACxC,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,OAAO,CAAA;IAC5B,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAaD,eAAO,MAAM,cAAc,GAAU,kFAOlC,mBAAmB,KAAG,OAAO,CAAC,gBAAgB,CAiEhD,CAAA"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAIzE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAUjD,KAAK,mBAAmB,GAAG,MAAM,CAC/B,iBAAiB,EACjB,WAAW,CAAC,qBAAqB,CAAC,CACnC,GAAG;IACF,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAsCD,eAAO,MAAM,cAAc,GAAU,uFAQlC,mBAAmB,KAAG,OAAO,CAAC,gBAAgB,CAqEhD,CAAA"}
@@ -2,10 +2,25 @@ import { extractErrorMsg } from '@vultisig/lib-utils/error/extractErrorMsg';
2
2
  import { isInError } from '@vultisig/lib-utils/error/isInError';
3
3
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
4
4
  import { convertDuration } from '@vultisig/lib-utils/time/convertDuration';
5
+ import { evmNativeCoinAddress } from '../../../../chains/evm/config.js';
5
6
  import { isFeeCoin } from '../../../../coin/utils/isFeeCoin.js';
6
- import { kyberSwapAffiliateConfig, kyberSwapSlippageTolerance, kyberSwapTxLifespan, } from '../config.js';
7
+ import { getKyberSwapAffiliateParams, hasAffiliateBps, kyberSwapAffiliateConfig, kyberSwapSlippageTolerance, kyberSwapTxLifespan, } from '../config.js';
7
8
  import { getKyberSwapBaseUrl } from './baseUrl.js';
8
- export const getKyberSwapTx = async ({ from, routeSummary, routerAddress, amount, enableGasEstimation, isAffiliate, }) => {
9
+ const getKyberSwapAffiliateFee = ({ amountOut, to, affiliateBps, }) => {
10
+ if (!hasAffiliateBps(affiliateBps)) {
11
+ return undefined;
12
+ }
13
+ const netAmountOut = BigInt(amountOut);
14
+ const feeRate = BigInt(affiliateBps);
15
+ const grossAmountOut = (netAmountOut * 10000n) / (10000n - feeRate);
16
+ return {
17
+ chain: to.chain,
18
+ id: to.id ?? evmNativeCoinAddress,
19
+ decimals: to.decimals,
20
+ amount: grossAmountOut - netAmountOut,
21
+ };
22
+ };
23
+ export const getKyberSwapTx = async ({ from, to, routeSummary, routerAddress, amount, enableGasEstimation, affiliateBps, }) => {
9
24
  const buildPayload = {
10
25
  routeSummary,
11
26
  sender: from.address,
@@ -13,7 +28,7 @@ export const getKyberSwapTx = async ({ from, routeSummary, routerAddress, amount
13
28
  slippageTolerance: kyberSwapSlippageTolerance,
14
29
  deadline: Math.round(convertDuration(Date.now() + convertDuration(kyberSwapTxLifespan, 'min', 'ms'), 'ms', 's')),
15
30
  enableGasEstimation,
16
- ...(isAffiliate ? kyberSwapAffiliateConfig : {}),
31
+ ...getKyberSwapAffiliateParams(affiliateBps),
17
32
  ignoreCappedSlippage: false,
18
33
  };
19
34
  const buildResponse = await queryUrl(`${getKyberSwapBaseUrl(from.chain)}/route/build`, {
@@ -49,6 +64,11 @@ export const getKyberSwapTx = async ({ from, routeSummary, routerAddress, amount
49
64
  data,
50
65
  value: isFeeCoin(from) ? amount.toString() : '0',
51
66
  gasLimit: gas ? BigInt(gas) : undefined,
67
+ affiliateFee: getKyberSwapAffiliateFee({
68
+ amountOut,
69
+ to,
70
+ affiliateBps,
71
+ }),
52
72
  },
53
73
  },
54
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../../../../../../packages/core/chain/swap/general/kyber/api/tx.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,12 @@ export declare const kyberSwapAffiliateConfig: {
5
5
  source: string;
6
6
  referral: string;
7
7
  };
8
+ export type KyberSwapAffiliateParams = typeof kyberSwapAffiliateConfig & {
9
+ feeAmount: number;
10
+ chargeFeeBy: 'currency_out';
11
+ isInBps: true;
12
+ feeReceiver: string;
13
+ };
14
+ export declare const hasAffiliateBps: (affiliateBps?: number) => affiliateBps is number;
15
+ export declare const getKyberSwapAffiliateParams: (affiliateBps?: number) => KyberSwapAffiliateParams | Record<string, never>;
8
16
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,OAAY,CAAA;AAE9C,eAAO,MAAM,0BAA0B,EAAE,MAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB;;;CAGpC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,OAAY,CAAA;AAE9C,eAAO,MAAM,0BAA0B,EAAE,MAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB;;;CAGpC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,GAAG;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,cAAc,CAAA;IAC3B,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,KACpB,YAAY,IAAI,MACqD,CAAA;AAExE,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,KACpB,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAS1C,CAAA"}
@@ -4,4 +4,14 @@ export const kyberSwapAffiliateConfig = {
4
4
  source: 'vultisig-v0',
5
5
  referral: '0x8E247a480449c84a5fDD25974A8501f3EFa4ABb9',
6
6
  };
7
+ export const hasAffiliateBps = (affiliateBps) => affiliateBps !== undefined && affiliateBps > 0 && affiliateBps < 10000;
8
+ export const getKyberSwapAffiliateParams = (affiliateBps) => hasAffiliateBps(affiliateBps)
9
+ ? {
10
+ ...kyberSwapAffiliateConfig,
11
+ feeAmount: affiliateBps,
12
+ chargeFeeBy: 'currency_out',
13
+ isInBps: true,
14
+ feeReceiver: kyberSwapAffiliateConfig.referral,
15
+ }
16
+ : {};
7
17
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAY,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAW,GAAG,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,4CAA4C;CACvD,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/swap/general/kyber/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAY,EAAE,CAAA;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAW,GAAG,CAAA;AAErD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,4CAA4C;CACvD,CAAA;AASD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,YAAqB,EACG,EAAE,CAC1B,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,KAAK,CAAA;AAExE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,YAAqB,EAC6B,EAAE,CACpD,eAAe,CAAC,YAAY,CAAC;IAC3B,CAAC,CAAC;QACE,GAAG,wBAAwB;QAC3B,SAAS,EAAE,YAAY;QACvB,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,wBAAwB,CAAC,QAAQ;KAC/C;IACH,CAAC,CAAC,EAAE,CAAA"}
@@ -63,9 +63,9 @@ export const findSwapQuote = async ({ from, to, amount, referral, vultDiscountTi
63
63
  chain: toChain,
64
64
  },
65
65
  amount: chainAmount,
66
- isAffiliate: !!affiliateBps,
66
+ affiliateBps,
67
67
  });
68
- return { quote: { general }, discounts: [] };
68
+ return { quote: { general }, discounts: vultDiscount };
69
69
  });
70
70
  }
71
71
  if (isOneOf(from.chain, oneInchSwapEnabledChains) &&
@@ -1 +1 @@
1
- {"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findSwapQuote.js","sourceRoot":"","sources":["../../../../../../packages/core/chain/swap/quote/findSwapQuote.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bittensor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/bittensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAOjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CACpD,UAAU,CAAC,SAAS,CAuBrB,CAAA"}
1
+ {"version":3,"file":"bittensor.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/bittensor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAKvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQjD,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,CACpD,UAAU,CAAC,SAAS,CA0BrB,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { bittensorRpcUrl } from '@vultisig/core-chain/chains/bittensor/client';
2
2
  import { ensureHexPrefix } from '@vultisig/lib-utils/hex/ensureHexPrefix';
3
3
  import { queryUrl } from '@vultisig/lib-utils/query/queryUrl';
4
- export const broadcastBittensorTx = async ({ tx: { encoded } }) => {
5
- const hexWithPrefix = ensureHexPrefix(Buffer.from(encoded).toString('hex'));
4
+ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
5
+ export const broadcastBittensorTx = async ({ chain, tx }) => {
6
+ const hexWithPrefix = ensureHexPrefix(Buffer.from(tx.encoded).toString('hex'));
6
7
  const response = await queryUrl(bittensorRpcUrl, {
7
8
  body: {
8
9
  jsonrpc: '2.0',
@@ -17,7 +18,8 @@ export const broadcastBittensorTx = async ({ tx: { encoded } }) => {
17
18
  if (message.includes('Already Imported')) {
18
19
  return;
19
20
  }
20
- throw new Error(`Bittensor broadcast failed: ${message || `code ${response.error.code}`}`);
21
+ const err = new Error(`Bittensor broadcast failed: ${message || `code ${response.error.code}`}`);
22
+ await verifyBroadcastByHash({ chain, tx, error: err });
21
23
  }
22
24
  };
23
25
  //# sourceMappingURL=bittensor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bittensor.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/bittensor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAS7D,MAAM,CAAC,MAAM,oBAAoB,GAE7B,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAChC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAE3E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAc,eAAe,EAAE;QAC5D,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,EAAE,EAAE,CAAC;SACN;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QAC5C,mFAAmF;QACnF,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,IAAI,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAC1E,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"bittensor.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/bittensor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAOhE,MAAM,CAAC,MAAM,oBAAoB,GAE7B,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1B,MAAM,aAAa,GAAG,eAAe,CACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACxC,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAc,eAAe,EAAE;QAC5D,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,CAAC,aAAa,CAAC;YACvB,EAAE,EAAE,CAAC;SACN;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QAC5C,mFAAmF;QACnF,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzC,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,KAAK,CACnB,+BAA+B,OAAO,IAAI,QAAQ,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAC1E,CAAA;QACD,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACxD,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AASjD,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,CAClD,UAAU,CAAC,OAAO,CA4BnB,CAAA"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAMvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAUjD,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,CAClD,UAAU,CAAC,OAAO,CA8BnB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { getCardanoTxHash } from '@vultisig/core-chain/tx/hash/resolvers/cardano';
2
2
  import { isInError } from '@vultisig/lib-utils/error/isInError';
3
3
  import { submitCardanoCbor } from '../../../chains/cardano/submit/submitCardanoCbor.js';
4
+ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
4
5
  import { selectEncodedBytes } from './utxo.js';
5
6
  /**
6
7
  * Ogmios code for "transaction already known / in ledger". When the node
@@ -20,6 +21,8 @@ export const broadcastCardanoTx = async ({ chain, tx }) => {
20
21
  if (isInError(error, 'BadInputsUTxO', 'timed out', 'txn-mempool-conflict', 'already known')) {
21
22
  return null;
22
23
  }
23
- throw new Error(`Failed to broadcast transaction: ${error}`);
24
+ const broadcastError = new Error(`Failed to broadcast transaction: ${error}`);
25
+ await verifyBroadcastByHash({ chain, tx, error: broadcastError });
26
+ return null;
24
27
  };
25
28
  //# sourceMappingURL=cardano.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAGpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAE3C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAE3B,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1B,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/E,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,IAAI,2BAA2B,CAAA;IAEzD,IACE,SAAS,CACP,KAAK,EACL,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,eAAe,CAChB,EACD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAA"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cardano.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAA;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAE3C;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,MAAM,CAAC,MAAM,kBAAkB,GAE3B,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1B,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAE/E,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,IAAI,2BAA2B,CAAA;IAEzD,IACE,SAAS,CACP,KAAK,EACL,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,eAAe,CAChB,EACD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAA;IAC7E,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,WAAW,CAa9D,CAAA"}
1
+ {"version":3,"file":"cosmos.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cosmos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAKxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,eAAO,MAAM,iBAAiB,EAAE,mBAAmB,CAAC,WAAW,CAoB9D,CAAA"}
@@ -1,13 +1,19 @@
1
1
  import { getCosmosClient } from '@vultisig/core-chain/chains/cosmos/client';
2
2
  import { attempt } from '@vultisig/lib-utils/attempt';
3
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
4
- export const broadcastCosmosTx = async ({ chain, tx: { serialized }, }) => {
4
+ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
5
+ export const broadcastCosmosTx = async ({ chain, tx, }) => {
6
+ const { serialized } = tx;
5
7
  const { tx_bytes } = JSON.parse(serialized);
6
8
  const decodedTxBytes = Buffer.from(tx_bytes, 'base64');
7
9
  const client = await getCosmosClient(chain);
8
10
  const { error } = await attempt(client.broadcastTx(decodedTxBytes));
9
- if (error && !isInError(error, 'tx already exists in cache')) {
10
- throw error;
11
+ if (!error) {
12
+ return;
11
13
  }
14
+ if (isInError(error, 'tx already exists in cache')) {
15
+ return;
16
+ }
17
+ await verifyBroadcastByHash({ chain, tx, error });
12
18
  };
13
19
  //# sourceMappingURL=cosmos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAI/D,MAAM,CAAC,MAAM,iBAAiB,GAAqC,KAAK,EAAE,EACxE,KAAK,EACL,EAAE,EAAE,EAAE,UAAU,EAAE,GACnB,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEtD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnE,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,4BAA4B,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"cosmos.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/cosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAqC,KAAK,EAAE,EACxE,KAAK,EACL,EAAE,GACH,EAAE,EAAE;IACH,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAEtD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAA;IAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,4BAA4B,CAAC,EAAE,CAAC;QACnD,OAAM;IACR,CAAC;IAED,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAMrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,QAAQ,CAyBxD,CAAA"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAMrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,eAAO,MAAM,cAAc,EAAE,mBAAmB,CAAC,QAAQ,CA8BxD,CAAA"}
@@ -2,14 +2,18 @@ import { getEvmClient } from '@vultisig/core-chain/chains/evm/client';
2
2
  import { attempt } from '@vultisig/lib-utils/attempt';
3
3
  import { isInError } from '@vultisig/lib-utils/error/isInError';
4
4
  import { ensureHexPrefix } from '@vultisig/lib-utils/hex/ensureHexPrefix';
5
+ import { verifyBroadcastByHash } from '../verifyBroadcastByHash.js';
5
6
  export const broadcastEvmTx = async ({ chain, tx, }) => {
6
7
  const client = getEvmClient(chain);
7
8
  const { error } = await attempt(client.sendRawTransaction({
8
9
  serializedTransaction: ensureHexPrefix(Buffer.from(tx.encoded).toString('hex')),
9
10
  }));
10
- if (error &&
11
- !isInError(error, 'already known', 'transaction already exists', 'tx already in mempool')) {
12
- throw error;
11
+ if (!error) {
12
+ return;
13
13
  }
14
+ if (isInError(error, 'already known', 'transaction already exists', 'tx already in mempool')) {
15
+ return;
16
+ }
17
+ await verifyBroadcastByHash({ chain, tx, error });
14
18
  };
15
19
  //# sourceMappingURL=evm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/evm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAIzE,MAAM,CAAC,MAAM,cAAc,GAAkC,KAAK,EAAE,EAClE,KAAK,EACL,EAAE,GACH,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAElC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7B,MAAM,CAAC,kBAAkB,CAAC;QACxB,qBAAqB,EAAE,eAAe,CACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACxC;KACF,CAAC,CACH,CAAA;IAED,IACE,KAAK;QACL,CAAC,SAAS,CACR,KAAK,EACL,eAAe,EACf,4BAA4B,EAC5B,uBAAuB,CACxB,EACD,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../../../../packages/core/chain/tx/broadcast/resolvers/evm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAkC,KAAK,EAAE,EAClE,KAAK,EACL,EAAE,GACH,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAElC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAC7B,MAAM,CAAC,kBAAkB,CAAC;QACxB,qBAAqB,EAAE,eAAe,CACpC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACxC;KACF,CAAC,CACH,CAAA;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,IACE,SAAS,CACP,KAAK,EACL,eAAe,EACf,4BAA4B,EAC5B,uBAAuB,CACxB,EACD,CAAC;QACD,OAAM;IACR,CAAC;IAED,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC,CAAA"}