@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.
- package/CHANGELOG.md +61 -0
- package/dist/chains/evm/contract/universalRouter/decode.d.ts +12 -0
- package/dist/chains/evm/contract/universalRouter/decode.d.ts.map +1 -0
- package/dist/chains/evm/contract/universalRouter/decode.js +333 -0
- package/dist/chains/evm/contract/universalRouter/decode.js.map +1 -0
- package/dist/chains/evm/contract/universalRouter/opcodes.d.ts +39 -0
- package/dist/chains/evm/contract/universalRouter/opcodes.d.ts.map +1 -0
- package/dist/chains/evm/contract/universalRouter/opcodes.js +39 -0
- package/dist/chains/evm/contract/universalRouter/opcodes.js.map +1 -0
- package/dist/chains/evm/contract/universalRouter/types.d.ts +24 -0
- package/dist/chains/evm/contract/universalRouter/types.d.ts.map +1 -0
- package/dist/chains/evm/contract/universalRouter/types.js +2 -0
- package/dist/chains/evm/contract/universalRouter/types.js.map +1 -0
- package/dist/chains/solana/client.d.ts.map +1 -1
- package/dist/chains/solana/client.js +1 -3
- package/dist/chains/solana/client.js.map +1 -1
- package/dist/coin/balance/resolvers/bittensor.d.ts.map +1 -1
- package/dist/coin/balance/resolvers/bittensor.js +16 -6
- package/dist/coin/balance/resolvers/bittensor.js.map +1 -1
- package/dist/publicKey/ecdsa/derivePublicKey.d.ts.map +1 -1
- package/dist/publicKey/ecdsa/derivePublicKey.js +6 -0
- package/dist/publicKey/ecdsa/derivePublicKey.js.map +1 -1
- package/dist/security/blockaid/tx/simulation/api/core.d.ts.map +1 -1
- package/dist/security/blockaid/tx/simulation/api/core.js +30 -29
- package/dist/security/blockaid/tx/simulation/api/core.js.map +1 -1
- package/dist/swap/general/kyber/api/quote.d.ts +2 -2
- package/dist/swap/general/kyber/api/quote.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/quote.js +6 -4
- package/dist/swap/general/kyber/api/quote.js.map +1 -1
- package/dist/swap/general/kyber/api/route.d.ts +2 -2
- package/dist/swap/general/kyber/api/route.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/route.js +3 -3
- package/dist/swap/general/kyber/api/route.js.map +1 -1
- package/dist/swap/general/kyber/api/tx.d.ts +4 -4
- package/dist/swap/general/kyber/api/tx.d.ts.map +1 -1
- package/dist/swap/general/kyber/api/tx.js +23 -3
- package/dist/swap/general/kyber/api/tx.js.map +1 -1
- package/dist/swap/general/kyber/config.d.ts +8 -0
- package/dist/swap/general/kyber/config.d.ts.map +1 -1
- package/dist/swap/general/kyber/config.js +10 -0
- package/dist/swap/general/kyber/config.js.map +1 -1
- package/dist/swap/quote/findSwapQuote.js +2 -2
- package/dist/swap/quote/findSwapQuote.js.map +1 -1
- package/dist/tx/broadcast/resolvers/bittensor.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/bittensor.js +5 -3
- package/dist/tx/broadcast/resolvers/bittensor.js.map +1 -1
- package/dist/tx/broadcast/resolvers/cardano.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/cardano.js +4 -1
- package/dist/tx/broadcast/resolvers/cardano.js.map +1 -1
- package/dist/tx/broadcast/resolvers/cosmos.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/cosmos.js +9 -3
- package/dist/tx/broadcast/resolvers/cosmos.js.map +1 -1
- package/dist/tx/broadcast/resolvers/evm.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/evm.js +7 -3
- package/dist/tx/broadcast/resolvers/evm.js.map +1 -1
- package/dist/tx/broadcast/resolvers/polkadot.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/polkadot.js +25 -10
- package/dist/tx/broadcast/resolvers/polkadot.js.map +1 -1
- package/dist/tx/broadcast/resolvers/qbtc.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/qbtc.js +12 -4
- package/dist/tx/broadcast/resolvers/qbtc.js.map +1 -1
- package/dist/tx/broadcast/resolvers/ripple.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/ripple.js +22 -5
- package/dist/tx/broadcast/resolvers/ripple.js.map +1 -1
- package/dist/tx/broadcast/resolvers/solana.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/solana.js +13 -7
- package/dist/tx/broadcast/resolvers/solana.js.map +1 -1
- package/dist/tx/broadcast/resolvers/sui.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/sui.js +12 -4
- package/dist/tx/broadcast/resolvers/sui.js.map +1 -1
- package/dist/tx/broadcast/resolvers/ton.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/ton.js +8 -3
- package/dist/tx/broadcast/resolvers/ton.js.map +1 -1
- package/dist/tx/broadcast/resolvers/tron.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/tron.js +16 -10
- package/dist/tx/broadcast/resolvers/tron.js.map +1 -1
- package/dist/tx/broadcast/resolvers/utxo.d.ts.map +1 -1
- package/dist/tx/broadcast/resolvers/utxo.js +4 -1
- package/dist/tx/broadcast/resolvers/utxo.js.map +1 -1
- package/dist/tx/broadcast/verifyBroadcastByHash.d.ts +29 -0
- package/dist/tx/broadcast/verifyBroadcastByHash.d.ts.map +1 -0
- package/dist/tx/broadcast/verifyBroadcastByHash.js +35 -0
- package/dist/tx/broadcast/verifyBroadcastByHash.js.map +1 -0
- 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,
|
|
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
|
-
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../../../../../../packages/core/chain/security/blockaid/tx/simulation/api/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AA0E5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,EAChD,UAAoC,EACG,EAAE;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAA;IAEjE,0FAA0F;IAC1F,6EAA6E;IAC7E,IAAI,aAAa,GAAG,UAAU,CAAA;IAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAA;QAC3G,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,iBAAiB,CAAC,GAAG,aAAa,CAAA;QAEzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,QAAQ,EACN,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK;oBACpC,CAAC,CAAC,6CAA6C;oBAC/C,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtD,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;aACrE;SACF,CAAA;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,aAAa,CAAA;QAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,EAAE;YAC9C,CAAC,CAAC;gBACE,OAAO,EAAE,gBAAgB,CAAC,KAAK;gBAC/B,OAAO,EAAE,gBAAgB,CAAC,EAAE;aAC7B;YACH,CAAC,CAAC;gBACE,OAAO,EAAE,iBAAiB,CAAC,KAAK;gBAChC,OAAO,EAAE,iBAAiB,CAAC,EAAE;aAC9B,CAAA;QAEL,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,GAAG;YAClD,CAAC,CAAC;gBACE,QAAQ,EAAE,iBAAiB,CAAC,KAAK;gBACjC,QAAQ,EAAE,iBAAiB,CAAC,GAAG;aAChC;YACH,CAAC,CAAC;gBACE,QAAQ,EAAE,gBAAgB,CAAC,KAAK;gBAChC,QAAQ,EAAE,gBAAgB,CAAC,GAAG;aAC/B,CAAA;QACL,IAAI,QAAQ,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/C,OAAO;gBACL,IAAI,EAAE;oBACJ,QAAQ,EACN,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7G,MAAM,EACJ,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC3G,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;oBACvD,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;oBACpD,cAAc,EAAE,OAAO,CAAC,QAAQ;iBACjC;aACF,CAAA;QACH,CAAC;aAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,QAAQ,EAAE;oBACR,QAAQ,EACN,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7G,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;iBACxD;aACF,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,UAAiC,EACjC,KAAe,EACqB,EAAE;IACtC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,KAAK,EAAE,CAAC,CAAA;IACvF,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,YAAY,CAAA;IAE1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,iBAAiB,CAAC,GAAG,UAAU,CAAA;QAEtC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,QAAQ,EAAE;oBACR,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ;oBAC1C,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ;oBACtC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM;oBACtC,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,OAAO;oBACnC,KAAK,EAAE,KAAK;iBACb;gBACD,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACxE;SACF,CAAA;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,CAAA;QACvD,MAAM,MAAM,GACV,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,CAAC;YAC/F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAA;QACb,CAAC;QAED,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,8BAA8B;QAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,CAAA;QACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAA;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAA;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAA;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;QAEzB,OAAO;YACL,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,IAAI,EAAE,QAAQ,CAAC,QAAQ;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,EAAE,EAAE,QAAQ,CAAC,OAAO;oBACpB,KAAK,EAAE,KAAK;iBACb;gBACD,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,EAAE,EAAE,OAAO,CAAC,OAAO;iBACpB;gBACD,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC1D,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aACxD;SACF,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -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
|
-
|
|
7
|
+
affiliateBps?: number;
|
|
8
8
|
};
|
|
9
|
-
export declare const getKyberSwapQuote: ({ from, to, amount,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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,
|
|
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
|
-
...(
|
|
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,
|
|
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
|
-
|
|
10
|
+
affiliateBps?: number;
|
|
11
11
|
};
|
|
12
|
-
export declare const getKyberSwapTx: ({ from, routeSummary, routerAddress, amount, enableGasEstimation,
|
|
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":"
|
|
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
|
-
|
|
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
|
-
...(
|
|
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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
5
|
-
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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 (
|
|
10
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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"}
|