@waiaas/actions 2.10.0 → 2.11.0-rc
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/dist/common/amount-parser.d.ts +10 -0
- package/dist/common/amount-parser.d.ts.map +1 -0
- package/dist/common/amount-parser.js +31 -0
- package/dist/common/amount-parser.js.map +1 -0
- package/dist/common/amount-parser.test.d.ts +2 -0
- package/dist/common/amount-parser.test.d.ts.map +1 -0
- package/dist/common/amount-parser.test.js +43 -0
- package/dist/common/amount-parser.test.js.map +1 -0
- package/dist/common/contract-encoding.d.ts +34 -0
- package/dist/common/contract-encoding.d.ts.map +1 -0
- package/dist/common/contract-encoding.js +47 -0
- package/dist/common/contract-encoding.js.map +1 -0
- package/dist/common/contract-encoding.test.d.ts +2 -0
- package/dist/common/contract-encoding.test.d.ts.map +1 -0
- package/dist/common/contract-encoding.test.js +76 -0
- package/dist/common/contract-encoding.test.js.map +1 -0
- package/dist/providers/aave-v3/aave-contracts.d.ts +2 -8
- package/dist/providers/aave-v3/aave-contracts.d.ts.map +1 -1
- package/dist/providers/aave-v3/aave-contracts.js +3 -27
- package/dist/providers/aave-v3/aave-contracts.js.map +1 -1
- package/dist/providers/aave-v3/index.d.ts.map +1 -1
- package/dist/providers/aave-v3/index.js +5 -27
- package/dist/providers/aave-v3/index.js.map +1 -1
- package/dist/providers/across/__tests__/schemas.test.js +9 -0
- package/dist/providers/across/__tests__/schemas.test.js.map +1 -1
- package/dist/providers/across/schemas.js +1 -1
- package/dist/providers/across/schemas.js.map +1 -1
- package/dist/providers/dcent-swap/dex-swap.d.ts.map +1 -1
- package/dist/providers/dcent-swap/dex-swap.js +2 -15
- package/dist/providers/dcent-swap/dex-swap.js.map +1 -1
- package/dist/providers/hyperliquid/perp-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/perp-provider.js +4 -16
- package/dist/providers/hyperliquid/perp-provider.js.map +1 -1
- package/dist/providers/hyperliquid/spot-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/spot-provider.js +2 -14
- package/dist/providers/hyperliquid/spot-provider.js.map +1 -1
- package/dist/providers/hyperliquid/sub-account-provider.d.ts.map +1 -1
- package/dist/providers/hyperliquid/sub-account-provider.js +5 -16
- package/dist/providers/hyperliquid/sub-account-provider.js.map +1 -1
- package/dist/providers/jito-staking/jito-stake-pool.d.ts +1 -1
- package/dist/providers/jito-staking/jito-stake-pool.d.ts.map +1 -1
- package/dist/providers/jito-staking/jito-stake-pool.js +3 -21
- package/dist/providers/jito-staking/jito-stake-pool.js.map +1 -1
- package/dist/providers/kamino/index.d.ts.map +1 -1
- package/dist/providers/kamino/index.js +5 -27
- package/dist/providers/kamino/index.js.map +1 -1
- package/dist/providers/lido-staking/index.d.ts.map +1 -1
- package/dist/providers/lido-staking/index.js +3 -23
- package/dist/providers/lido-staking/index.js.map +1 -1
- package/dist/providers/lido-staking/lido-contract.d.ts +2 -8
- package/dist/providers/lido-staking/lido-contract.d.ts.map +1 -1
- package/dist/providers/lido-staking/lido-contract.js +3 -30
- package/dist/providers/lido-staking/lido-contract.js.map +1 -1
- package/dist/providers/zerox-swap/index.d.ts.map +1 -1
- package/dist/providers/zerox-swap/index.js +2 -14
- package/dist/providers/zerox-swap/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a human-readable token amount string to smallest unit (bigint).
|
|
3
|
+
*
|
|
4
|
+
* @param amount - Human-readable amount string (e.g., "100.5")
|
|
5
|
+
* @param decimals - Token decimals (e.g. 18 for ETH, 6 for USDC, 9 for SOL)
|
|
6
|
+
* @returns Amount in smallest unit as bigint
|
|
7
|
+
* @throws ChainError('INVALID_INSTRUCTION') if amount is zero or negative
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseTokenAmount(amount: string, decimals: number): bigint;
|
|
10
|
+
//# sourceMappingURL=amount-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amount-parser.d.ts","sourceRoot":"","sources":["../../src/common/amount-parser.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common token amount parsing utility.
|
|
3
|
+
*
|
|
4
|
+
* Converts human-readable decimal strings (e.g. "100.5") to smallest-unit
|
|
5
|
+
* bigint values based on the token's decimal precision.
|
|
6
|
+
*
|
|
7
|
+
* Consolidates identical implementations previously duplicated across
|
|
8
|
+
* aave-v3, kamino, lido-staking, jito-staking, and hyperliquid providers.
|
|
9
|
+
*/
|
|
10
|
+
import { ChainError } from '@waiaas/core';
|
|
11
|
+
/**
|
|
12
|
+
* Parse a human-readable token amount string to smallest unit (bigint).
|
|
13
|
+
*
|
|
14
|
+
* @param amount - Human-readable amount string (e.g., "100.5")
|
|
15
|
+
* @param decimals - Token decimals (e.g. 18 for ETH, 6 for USDC, 9 for SOL)
|
|
16
|
+
* @returns Amount in smallest unit as bigint
|
|
17
|
+
* @throws ChainError('INVALID_INSTRUCTION') if amount is zero or negative
|
|
18
|
+
*/
|
|
19
|
+
export function parseTokenAmount(amount, decimals) {
|
|
20
|
+
const parts = amount.split('.');
|
|
21
|
+
const whole = BigInt(parts[0] || '0');
|
|
22
|
+
const fractional = (parts[1] || '').padEnd(decimals, '0').slice(0, decimals);
|
|
23
|
+
const result = whole * 10n ** BigInt(decimals) + BigInt(fractional);
|
|
24
|
+
if (result <= 0n) {
|
|
25
|
+
throw new ChainError('INVALID_INSTRUCTION', 'evm', {
|
|
26
|
+
message: 'Amount must be greater than 0',
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=amount-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amount-parser.js","sourceRoot":"","sources":["../../src/common/amount-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAEpE,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,UAAU,CAAC,qBAAqB,EAAE,KAAK,EAAE;YACjD,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amount-parser.test.d.ts","sourceRoot":"","sources":["../../src/common/amount-parser.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for the common parseTokenAmount utility.
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect } from 'vitest';
|
|
5
|
+
import { parseTokenAmount } from './amount-parser.js';
|
|
6
|
+
describe('parseTokenAmount', () => {
|
|
7
|
+
it('parses ETH amount with 18 decimals', () => {
|
|
8
|
+
expect(parseTokenAmount('100.5', 18)).toBe(100500000000000000000n);
|
|
9
|
+
});
|
|
10
|
+
it('parses USDC amount with 6 decimals', () => {
|
|
11
|
+
expect(parseTokenAmount('100.5', 6)).toBe(100500000n);
|
|
12
|
+
});
|
|
13
|
+
it('parses SOL amount with 9 decimals', () => {
|
|
14
|
+
expect(parseTokenAmount('1.5', 9)).toBe(1500000000n);
|
|
15
|
+
});
|
|
16
|
+
it('throws on zero amount', () => {
|
|
17
|
+
expect(() => parseTokenAmount('0', 18)).toThrow('Amount must be greater than 0');
|
|
18
|
+
});
|
|
19
|
+
it('throws on negative amount', () => {
|
|
20
|
+
expect(() => parseTokenAmount('-1', 18)).toThrow();
|
|
21
|
+
});
|
|
22
|
+
it('parses integer-only amount', () => {
|
|
23
|
+
expect(parseTokenAmount('1000', 18)).toBe(1000000000000000000000n);
|
|
24
|
+
});
|
|
25
|
+
it('parses minimum unit (0.000001 with 6 decimals)', () => {
|
|
26
|
+
expect(parseTokenAmount('0.000001', 6)).toBe(1n);
|
|
27
|
+
});
|
|
28
|
+
it('truncates excess decimals', () => {
|
|
29
|
+
// 1.123456789 with 6 decimals -> 1123456 (truncates 789)
|
|
30
|
+
expect(parseTokenAmount('1.123456789', 6)).toBe(1123456n);
|
|
31
|
+
});
|
|
32
|
+
it('handles decimal-only input (.5)', () => {
|
|
33
|
+
expect(parseTokenAmount('.5', 18)).toBe(500000000000000000n);
|
|
34
|
+
});
|
|
35
|
+
it('handles long fractional with 18 decimals', () => {
|
|
36
|
+
expect(parseTokenAmount('1.123456789012345678', 18)).toBe(1123456789012345678n);
|
|
37
|
+
});
|
|
38
|
+
it('pads short fractional correctly', () => {
|
|
39
|
+
// "1.1" with 6 decimals -> 1_100000n
|
|
40
|
+
expect(parseTokenAmount('1.1', 6)).toBe(1100000n);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=amount-parser.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amount-parser.test.js","sourceRoot":"","sources":["../../src/common/amount-parser.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAuB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAwB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,yDAAyD;QACzD,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,qCAAqC;QACrC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common EVM ABI encoding utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides low-level hex encoding helpers for manual ABI construction
|
|
5
|
+
* without viem dependency. Used by providers that build raw calldata
|
|
6
|
+
* (aave-v3, lido-staking, zerox-swap, dcent-swap).
|
|
7
|
+
*
|
|
8
|
+
* Consolidates identical implementations previously duplicated across
|
|
9
|
+
* aave-contracts.ts, lido-contract.ts, zerox-swap/index.ts, and dcent-swap/dex-swap.ts.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pad a hex string to a target length (default 64 = 32 bytes) with leading zeros.
|
|
13
|
+
*/
|
|
14
|
+
export declare function padHex(value: string, length?: number): string;
|
|
15
|
+
/**
|
|
16
|
+
* Convert a 0x-prefixed Ethereum address to a 64-char lowercase hex string
|
|
17
|
+
* (32-byte ABI encoding).
|
|
18
|
+
*/
|
|
19
|
+
export declare function addressToHex(address: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Convert a bigint to a 64-char hex string (32-byte ABI encoding).
|
|
22
|
+
*
|
|
23
|
+
* @throws Error if value is negative
|
|
24
|
+
*/
|
|
25
|
+
export declare function uint256ToHex(value: bigint): string;
|
|
26
|
+
/**
|
|
27
|
+
* Encode ERC-20 approve(address spender, uint256 amount) calldata.
|
|
28
|
+
*
|
|
29
|
+
* @param spender - Spender address (0x-prefixed)
|
|
30
|
+
* @param amount - Amount to approve as bigint
|
|
31
|
+
* @returns ABI-encoded calldata with 0x prefix
|
|
32
|
+
*/
|
|
33
|
+
export declare function encodeApproveCalldata(spender: string, amount: bigint): string;
|
|
34
|
+
//# sourceMappingURL=contract-encoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-encoding.d.ts","sourceRoot":"","sources":["../../src/common/contract-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK7E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common EVM ABI encoding utilities.
|
|
3
|
+
*
|
|
4
|
+
* Provides low-level hex encoding helpers for manual ABI construction
|
|
5
|
+
* without viem dependency. Used by providers that build raw calldata
|
|
6
|
+
* (aave-v3, lido-staking, zerox-swap, dcent-swap).
|
|
7
|
+
*
|
|
8
|
+
* Consolidates identical implementations previously duplicated across
|
|
9
|
+
* aave-contracts.ts, lido-contract.ts, zerox-swap/index.ts, and dcent-swap/dex-swap.ts.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pad a hex string to a target length (default 64 = 32 bytes) with leading zeros.
|
|
13
|
+
*/
|
|
14
|
+
export function padHex(value, length = 64) {
|
|
15
|
+
return value.padStart(length, '0');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert a 0x-prefixed Ethereum address to a 64-char lowercase hex string
|
|
19
|
+
* (32-byte ABI encoding).
|
|
20
|
+
*/
|
|
21
|
+
export function addressToHex(address) {
|
|
22
|
+
return padHex(address.slice(2).toLowerCase());
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Convert a bigint to a 64-char hex string (32-byte ABI encoding).
|
|
26
|
+
*
|
|
27
|
+
* @throws Error if value is negative
|
|
28
|
+
*/
|
|
29
|
+
export function uint256ToHex(value) {
|
|
30
|
+
if (value < 0n)
|
|
31
|
+
throw new Error('uint256 cannot be negative');
|
|
32
|
+
return padHex(value.toString(16));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Encode ERC-20 approve(address spender, uint256 amount) calldata.
|
|
36
|
+
*
|
|
37
|
+
* @param spender - Spender address (0x-prefixed)
|
|
38
|
+
* @param amount - Amount to approve as bigint
|
|
39
|
+
* @returns ABI-encoded calldata with 0x prefix
|
|
40
|
+
*/
|
|
41
|
+
export function encodeApproveCalldata(spender, amount) {
|
|
42
|
+
const selector = '0x095ea7b3';
|
|
43
|
+
const paddedSpender = addressToHex(spender);
|
|
44
|
+
const paddedAmount = uint256ToHex(amount);
|
|
45
|
+
return `${selector}${paddedSpender}${paddedAmount}`;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=contract-encoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-encoding.js","sourceRoot":"","sources":["../../src/common/contract-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,SAAiB,EAAE;IACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,KAAK,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-encoding.test.d.ts","sourceRoot":"","sources":["../../src/common/contract-encoding.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for the common contract-encoding utility.
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect } from 'vitest';
|
|
5
|
+
import { padHex, addressToHex, uint256ToHex, encodeApproveCalldata } from './contract-encoding.js';
|
|
6
|
+
describe('padHex', () => {
|
|
7
|
+
it('pads to 64 chars by default', () => {
|
|
8
|
+
const result = padHex('ff');
|
|
9
|
+
expect(result).toHaveLength(64);
|
|
10
|
+
expect(result).toBe('00000000000000000000000000000000000000000000000000000000000000ff');
|
|
11
|
+
});
|
|
12
|
+
it('pads to custom length', () => {
|
|
13
|
+
expect(padHex('abc', 8)).toBe('00000abc');
|
|
14
|
+
});
|
|
15
|
+
it('returns value as-is if already at target length', () => {
|
|
16
|
+
expect(padHex('abcd', 4)).toBe('abcd');
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('addressToHex', () => {
|
|
20
|
+
it('converts 0x-prefixed address to 64-char lowercase hex', () => {
|
|
21
|
+
const result = addressToHex('0x1234567890abcdef1234567890abcdef12345678');
|
|
22
|
+
expect(result).toHaveLength(64);
|
|
23
|
+
expect(result).toBe('0000000000000000000000001234567890abcdef1234567890abcdef12345678');
|
|
24
|
+
});
|
|
25
|
+
it('lowercases uppercase addresses', () => {
|
|
26
|
+
const result = addressToHex('0xABCDEF1234567890ABCDEF1234567890ABCDEF12');
|
|
27
|
+
expect(result).toContain('abcdef');
|
|
28
|
+
expect(result).not.toContain('ABCDEF');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
describe('uint256ToHex', () => {
|
|
32
|
+
it('converts 0n to 64 zeros', () => {
|
|
33
|
+
const result = uint256ToHex(0n);
|
|
34
|
+
expect(result).toHaveLength(64);
|
|
35
|
+
expect(result).toBe('0'.repeat(64));
|
|
36
|
+
});
|
|
37
|
+
it('converts 255n to padded ff', () => {
|
|
38
|
+
const result = uint256ToHex(255n);
|
|
39
|
+
expect(result).toHaveLength(64);
|
|
40
|
+
expect(result.endsWith('ff')).toBe(true);
|
|
41
|
+
});
|
|
42
|
+
it('throws on negative value', () => {
|
|
43
|
+
expect(() => uint256ToHex(-1n)).toThrow('uint256 cannot be negative');
|
|
44
|
+
});
|
|
45
|
+
it('handles MAX_UINT256', () => {
|
|
46
|
+
const MAX = (1n << 256n) - 1n;
|
|
47
|
+
const result = uint256ToHex(MAX);
|
|
48
|
+
expect(result).toHaveLength(64);
|
|
49
|
+
expect(result).toBe('f'.repeat(64));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('encodeApproveCalldata', () => {
|
|
53
|
+
it('encodes with correct selector 0x095ea7b3', () => {
|
|
54
|
+
const result = encodeApproveCalldata('0x1234567890abcdef1234567890abcdef12345678', 1000n);
|
|
55
|
+
expect(result.startsWith('0x095ea7b3')).toBe(true);
|
|
56
|
+
});
|
|
57
|
+
it('produces correct output matching lido-contract.ts pattern', () => {
|
|
58
|
+
const spender = '0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1';
|
|
59
|
+
const amount = 1000000000000000000n; // 1 ETH in wei
|
|
60
|
+
const result = encodeApproveCalldata(spender, amount);
|
|
61
|
+
// Verify structure: selector (10 chars) + spender (64 chars) + amount (64 chars)
|
|
62
|
+
expect(result).toHaveLength(10 + 64 + 64);
|
|
63
|
+
expect(result.slice(0, 10)).toBe('0x095ea7b3');
|
|
64
|
+
// Spender should be lowercase, zero-padded to 64 chars
|
|
65
|
+
const spenderHex = result.slice(10, 74);
|
|
66
|
+
expect(spenderHex).toBe('000000000000000000000000889edc2edab5f40e902b864ad4d7ade8e412f9b1');
|
|
67
|
+
// Amount should be hex-encoded, zero-padded to 64 chars
|
|
68
|
+
const amountHex = result.slice(74, 138);
|
|
69
|
+
expect(amountHex).toBe('0000000000000000000000000000000000000000000000000de0b6b3a7640000');
|
|
70
|
+
});
|
|
71
|
+
it('handles zero amount', () => {
|
|
72
|
+
const result = encodeApproveCalldata('0x0000000000000000000000000000000000000001', 0n);
|
|
73
|
+
expect(result).toHaveLength(10 + 64 + 64);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=contract-encoding.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-encoding.test.js","sourceRoot":"","sources":["../../src/common/contract-encoding.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* Function selectors are hardcoded hex constants derived from keccak256 of function signatures.
|
|
14
14
|
* Follows the Lido pattern (lido-contract.ts).
|
|
15
15
|
*/
|
|
16
|
+
import { encodeApproveCalldata } from '../../common/contract-encoding.js';
|
|
16
17
|
export declare const AAVE_SELECTORS: {
|
|
17
18
|
readonly supply: "0x617ba037";
|
|
18
19
|
readonly borrow: "0xa415bcad";
|
|
@@ -65,14 +66,7 @@ export declare function encodeRepayCalldata(asset: string, amount: bigint, onBeh
|
|
|
65
66
|
* @returns ABI-encoded calldata with 0x prefix
|
|
66
67
|
*/
|
|
67
68
|
export declare function encodeWithdrawCalldata(asset: string, amount: bigint, to: string): string;
|
|
68
|
-
|
|
69
|
-
* Encode ERC-20 approve(address spender, uint256 amount) calldata.
|
|
70
|
-
*
|
|
71
|
-
* @param spender - Spender address to approve
|
|
72
|
-
* @param amount - Amount to approve in token's smallest unit
|
|
73
|
-
* @returns ABI-encoded calldata with 0x prefix
|
|
74
|
-
*/
|
|
75
|
-
export declare function encodeApproveCalldata(spender: string, amount: bigint): string;
|
|
69
|
+
export { encodeApproveCalldata };
|
|
76
70
|
/**
|
|
77
71
|
* Encode Pool.getUserAccountData(address) calldata.
|
|
78
72
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aave-contracts.d.ts","sourceRoot":"","sources":["../../../src/providers/aave-v3/aave-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"aave-contracts.d.ts","sourceRoot":"","sources":["../../../src/providers/aave-v3/aave-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAGL,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAM3C,eAAO,MAAM,cAAc;;;;;;;;CAWjB,CAAC;AAMX,eAAO,MAAM,WAAW,QAAoB,CAAC;AAM7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAAU,GACvB,MAAM,CAER;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,MAAW,EAC7B,YAAY,GAAE,MAAU,GACvB,MAAM,CAER;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,MAAW,GAC5B,MAAM,CAER;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,GACT,MAAM,CAER;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAMjC;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErE;AAMD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE"}
|
|
@@ -13,20 +13,7 @@
|
|
|
13
13
|
* Function selectors are hardcoded hex constants derived from keccak256 of function signatures.
|
|
14
14
|
* Follows the Lido pattern (lido-contract.ts).
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
// Utility: pad a hex value to 32 bytes (64 hex chars)
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
function padHex(value, length = 64) {
|
|
20
|
-
return value.padStart(length, '0');
|
|
21
|
-
}
|
|
22
|
-
function addressToHex(address) {
|
|
23
|
-
return padHex(address.slice(2).toLowerCase());
|
|
24
|
-
}
|
|
25
|
-
function uint256ToHex(value) {
|
|
26
|
-
if (value < 0n)
|
|
27
|
-
throw new Error('uint256 cannot be negative');
|
|
28
|
-
return padHex(value.toString(16));
|
|
29
|
-
}
|
|
16
|
+
import { addressToHex, uint256ToHex, encodeApproveCalldata, } from '../../common/contract-encoding.js';
|
|
30
17
|
// ---------------------------------------------------------------------------
|
|
31
18
|
// Function selectors (verified via keccak256)
|
|
32
19
|
// ---------------------------------------------------------------------------
|
|
@@ -108,19 +95,8 @@ export function encodeRepayCalldata(asset, amount, onBehalfOf, interestRateMode
|
|
|
108
95
|
export function encodeWithdrawCalldata(asset, amount, to) {
|
|
109
96
|
return `${AAVE_SELECTORS.withdraw}${addressToHex(asset)}${uint256ToHex(amount)}${addressToHex(to)}`;
|
|
110
97
|
}
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
// ---------------------------------------------------------------------------
|
|
114
|
-
/**
|
|
115
|
-
* Encode ERC-20 approve(address spender, uint256 amount) calldata.
|
|
116
|
-
*
|
|
117
|
-
* @param spender - Spender address to approve
|
|
118
|
-
* @param amount - Amount to approve in token's smallest unit
|
|
119
|
-
* @returns ABI-encoded calldata with 0x prefix
|
|
120
|
-
*/
|
|
121
|
-
export function encodeApproveCalldata(spender, amount) {
|
|
122
|
-
return `${AAVE_SELECTORS.approve}${addressToHex(spender)}${uint256ToHex(amount)}`;
|
|
123
|
-
}
|
|
98
|
+
// Re-export encodeApproveCalldata from common module for backward compatibility
|
|
99
|
+
export { encodeApproveCalldata };
|
|
124
100
|
// ---------------------------------------------------------------------------
|
|
125
101
|
// getUserAccountData(address user) -- read
|
|
126
102
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aave-contracts.js","sourceRoot":"","sources":["../../../src/providers/aave-v3/aave-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"aave-contracts.js","sourceRoot":"","sources":["../../../src/providers/aave-v3/aave-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/aave-v3/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/aave-v3/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,UAAU,EAEX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAWhD,OAAO,EACL,KAAK,UAAU,EAKhB,MAAM,eAAe,CAAC;AAYvB,qBAAa,qBAAsB,YAAW,gBAAgB,EAAE,iBAAiB;IAC/E,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;gBAE5B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE,UAAU;IAsD7D,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IAqBvD,OAAO,CAAC,aAAa;YAgCP,aAAa;IA2B3B,OAAO,CAAC,YAAY;YAgCN,eAAe;YA2Bf,iBAAiB;YAmBjB,mBAAmB;YAiBnB,oBAAoB;IA0B5B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA0CzF,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA6CjF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IASpE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKhE,eAAe,IAAI,MAAM;IAIzB,sBAAsB,IAAI,gBAAgB,EAAE;CAG7C"}
|
|
@@ -13,34 +13,12 @@
|
|
|
13
13
|
* Risk levels: borrow/withdraw = high (APPROVAL), supply/repay = medium (DELAY).
|
|
14
14
|
*/
|
|
15
15
|
import { ChainError } from '@waiaas/core';
|
|
16
|
+
import { parseTokenAmount } from '../../common/amount-parser.js';
|
|
16
17
|
import { getAaveAddresses } from './config.js';
|
|
17
18
|
import { encodeSupplyCalldata, encodeBorrowCalldata, encodeRepayCalldata, encodeWithdrawCalldata, encodeApproveCalldata, encodeGetUserAccountDataCalldata, MAX_UINT256, } from './aave-contracts.js';
|
|
18
19
|
import { decodeGetUserAccountData, simulateHealthFactor, hfToNumber, LIQUIDATION_THRESHOLD_HF, } from './aave-rpc.js';
|
|
19
20
|
import { AaveSupplyInputSchema, AaveBorrowInputSchema, AaveRepayInputSchema, AaveWithdrawInputSchema, } from './schemas.js';
|
|
20
21
|
// ---------------------------------------------------------------------------
|
|
21
|
-
// Amount parsing helper
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
/**
|
|
24
|
-
* Parse a human-readable token amount string to smallest unit (bigint).
|
|
25
|
-
* Handles decimal amounts like "100.5" with configurable decimals.
|
|
26
|
-
*
|
|
27
|
-
* @param amount - Human-readable amount string (e.g., "100.5")
|
|
28
|
-
* @param decimals - Token decimals (default 18 for most ERC-20 tokens)
|
|
29
|
-
* @throws ChainError if amount is zero or negative
|
|
30
|
-
*/
|
|
31
|
-
function parseTokenAmount(amount, decimals = 18) {
|
|
32
|
-
const parts = amount.split('.');
|
|
33
|
-
const whole = BigInt(parts[0] || '0');
|
|
34
|
-
const fractional = (parts[1] || '').padEnd(decimals, '0').slice(0, decimals);
|
|
35
|
-
const result = whole * 10n ** BigInt(decimals) + BigInt(fractional);
|
|
36
|
-
if (result <= 0n) {
|
|
37
|
-
throw new ChainError('INVALID_INSTRUCTION', 'ethereum', {
|
|
38
|
-
message: 'Amount must be greater than 0',
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
22
|
// Provider implementation
|
|
45
23
|
// ---------------------------------------------------------------------------
|
|
46
24
|
export class AaveV3LendingProvider {
|
|
@@ -120,7 +98,7 @@ export class AaveV3LendingProvider {
|
|
|
120
98
|
const input = AaveSupplyInputSchema.parse(params);
|
|
121
99
|
const network = (input.network || 'ethereum-mainnet');
|
|
122
100
|
const addresses = getAaveAddresses(network);
|
|
123
|
-
const amount = parseTokenAmount(input.amount);
|
|
101
|
+
const amount = parseTokenAmount(input.amount, 18);
|
|
124
102
|
const approveReq = {
|
|
125
103
|
type: 'CONTRACT_CALL',
|
|
126
104
|
to: input.asset,
|
|
@@ -144,7 +122,7 @@ export class AaveV3LendingProvider {
|
|
|
144
122
|
const input = AaveBorrowInputSchema.parse(params);
|
|
145
123
|
const network = (input.network || 'ethereum-mainnet');
|
|
146
124
|
const addresses = getAaveAddresses(network);
|
|
147
|
-
const amount = parseTokenAmount(input.amount);
|
|
125
|
+
const amount = parseTokenAmount(input.amount, 18);
|
|
148
126
|
// AAVE-09: HF simulation check if rpcCaller available
|
|
149
127
|
if (this.rpcCaller) {
|
|
150
128
|
await this.checkBorrowSafety(context.walletAddress, amount, addresses.pool, addresses.chainId);
|
|
@@ -164,7 +142,7 @@ export class AaveV3LendingProvider {
|
|
|
164
142
|
const input = AaveRepayInputSchema.parse(params);
|
|
165
143
|
const network = (input.network || 'ethereum-mainnet');
|
|
166
144
|
const addresses = getAaveAddresses(network);
|
|
167
|
-
const amount = input.amount === 'max' ? MAX_UINT256 : parseTokenAmount(input.amount);
|
|
145
|
+
const amount = input.amount === 'max' ? MAX_UINT256 : parseTokenAmount(input.amount, 18);
|
|
168
146
|
const approveReq = {
|
|
169
147
|
type: 'CONTRACT_CALL',
|
|
170
148
|
to: input.asset,
|
|
@@ -188,7 +166,7 @@ export class AaveV3LendingProvider {
|
|
|
188
166
|
const input = AaveWithdrawInputSchema.parse(params);
|
|
189
167
|
const network = (input.network || 'ethereum-mainnet');
|
|
190
168
|
const addresses = getAaveAddresses(network);
|
|
191
|
-
const amount = input.amount === 'max' ? MAX_UINT256 : parseTokenAmount(input.amount);
|
|
169
|
+
const amount = input.amount === 'max' ? MAX_UINT256 : parseTokenAmount(input.amount, 18);
|
|
192
170
|
// AAVE-09: HF simulation for non-max withdrawals
|
|
193
171
|
if (this.rpcCaller && amount !== MAX_UINT256) {
|
|
194
172
|
await this.checkWithdrawSafety(context.walletAddress, amount, addresses.pool, addresses.chainId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/aave-v3/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/aave-v3/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,15 @@ describe('AcrossDepositStatusResponseSchema', () => {
|
|
|
65
65
|
expect(result.fillTxHash).toBe('0xhash');
|
|
66
66
|
expect(result.depositId).toBe(42);
|
|
67
67
|
});
|
|
68
|
+
it('coerces string depositId to number (#336)', () => {
|
|
69
|
+
const result = AcrossDepositStatusResponseSchema.parse({
|
|
70
|
+
status: 'filled',
|
|
71
|
+
fillTxHash: '0xhash',
|
|
72
|
+
depositId: '12345',
|
|
73
|
+
destinationChainId: 42161,
|
|
74
|
+
});
|
|
75
|
+
expect(result.depositId).toBe(12345);
|
|
76
|
+
});
|
|
68
77
|
});
|
|
69
78
|
describe('AcrossAvailableRoutesResponseSchema', () => {
|
|
70
79
|
it('parses valid route array', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../../../src/providers/across/__tests__/schemas.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,mCAAmC,EACnC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,MAAM,aAAa,GAAG;QACpB,aAAa,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC3D,iBAAiB,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7D,aAAa,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;QACzD,KAAK,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE;QACjD,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,KAAK;QACrB,gBAAgB,EAAE,4CAA4C;QAC9D,mBAAmB,EAAE,CAAC;QACtB,MAAM,EAAE;YACN,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,eAAe;YAC3B,iBAAiB,EAAE,cAAc;YACjC,oBAAoB,EAAE,cAAc;SACrC;KACF,CAAC;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,SAAS,GAAG,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAE,MAAkC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,aAAa,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,aAAa,CAAC;QACnD,MAAM,CAAC,GAAG,EAAE,CAAC,iCAAiC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC,CAC5D,yBAAyB,EACzB,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,GAAG,EAAE,CACV,iCAAiC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAC/D,CAAC,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,iCAAiC,CAAC,KAAK,CAAC;YACrD,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,EAAE;YACb,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG;YACb;gBACE,aAAa,EAAE,CAAC;gBAChB,kBAAkB,EAAE,KAAK;gBACzB,WAAW,EAAE,UAAU;gBACvB,gBAAgB,EAAE,UAAU;aAC7B;SACF,CAAC;QACF,MAAM,MAAM,GAAG,mCAAmC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,mCAAmC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC;YAC9C,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,eAAe;YAC3B,iBAAiB,EAAE,cAAc;YACjC,oBAAoB,EAAE,cAAc;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC;YACpD,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7C,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../../../src/providers/across/__tests__/schemas.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,7 @@ export const AcrossDepositStatusResponseSchema = z.object({
|
|
|
70
70
|
fillTx: z.string().optional(),
|
|
71
71
|
fillTxHash: z.string().optional(),
|
|
72
72
|
depositTxHash: z.string().optional(),
|
|
73
|
-
depositId: z.number().optional(),
|
|
73
|
+
depositId: z.coerce.number().optional(),
|
|
74
74
|
destinationChainId: z.number().optional(),
|
|
75
75
|
updatedAt: z.string().optional(),
|
|
76
76
|
}).passthrough();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/providers/across/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/providers/across/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAM,0CAA0C;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAI,6CAA6C;CACnE,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,aAAa,EAAE,wBAAwB;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C,aAAa,EAAE,wBAAwB;IACvC,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAa,0DAA0D;IACnG,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAY,uBAAuB;IAC/D,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,8DAA8D;IACtG,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC7B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;KACjC,CAAC,CAAC,WAAW,EAAE;CACjB,CAAC,CAAC,WAAW,EAAE,CAAC;AAIjB,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;CACjC,CAAC,CAAC,WAAW,EAAE,CAAC;AAIjB,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAK9E,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC,WAAW,EAAE,CAAC;AAIjB,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IACzD,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dex-swap.d.ts","sourceRoot":"","sources":["../../../src/providers/dcent-swap/dex-swap.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"dex-swap.d.ts","sourceRoot":"","sources":["../../../src/providers/dcent-swap/dex-swap.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQnD,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,mEAAmE;IACnE,eAAe,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C,yCAAyC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA2C3B;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAU3D;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAmHhC"}
|