@augustdigital/sdk 4.26.0-alpha.0 → 4.27.0
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/README.md +1 -1
- package/lib/abis/OFT.d.ts +96 -0
- package/lib/abis/OFT.js +65 -0
- package/lib/abis/OFT.js.map +1 -0
- package/lib/abis/RwaRedeemSubaccount.d.ts +4 -4
- package/lib/abis/RwaRedeemSubaccount.js +4 -4
- package/lib/abis/RwaRedeemSubaccount.js.map +1 -1
- package/lib/abis/index.d.ts +2 -0
- package/lib/abis/index.js +2 -0
- package/lib/abis/index.js.map +1 -1
- package/lib/adapters/stellar/actions.d.ts +2 -2
- package/lib/adapters/stellar/actions.js +36 -4
- package/lib/adapters/stellar/actions.js.map +1 -1
- package/lib/adapters/stellar/constants.d.ts +6 -1
- package/lib/adapters/stellar/constants.js +10 -4
- package/lib/adapters/stellar/constants.js.map +1 -1
- package/lib/adapters/stellar/getters.d.ts +3 -1
- package/lib/adapters/stellar/getters.js +155 -13
- package/lib/adapters/stellar/getters.js.map +1 -1
- package/lib/adapters/stellar/index.d.ts +8 -3
- package/lib/adapters/stellar/index.js +19 -2
- package/lib/adapters/stellar/index.js.map +1 -1
- package/lib/adapters/stellar/soroban.js +4 -1
- package/lib/adapters/stellar/soroban.js.map +1 -1
- package/lib/adapters/stellar/types.d.ts +4 -0
- package/lib/adapters/stellar/utils.d.ts +2 -1
- package/lib/adapters/stellar/utils.js +2 -1
- package/lib/adapters/stellar/utils.js.map +1 -1
- package/lib/evm/index.d.ts +2 -0
- package/lib/{modules/vaults/utils → evm}/index.js +2 -2
- package/lib/evm/index.js.map +1 -0
- package/lib/evm/methods/crossChainVault.d.ts +38 -0
- package/lib/evm/methods/crossChainVault.js +608 -0
- package/lib/evm/methods/crossChainVault.js.map +1 -0
- package/lib/evm/methods/index.d.ts +1 -0
- package/lib/evm/methods/index.js +18 -0
- package/lib/evm/methods/index.js.map +1 -0
- package/lib/evm/types/crossChain.d.ts +157 -0
- package/lib/evm/types/crossChain.js +3 -0
- package/lib/evm/types/crossChain.js.map +1 -0
- package/lib/evm/types/index.d.ts +1 -0
- package/lib/evm/types/index.js +18 -0
- package/lib/evm/types/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +1 -0
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/getters.d.ts +2 -1
- package/lib/modules/vaults/getters.js +35 -8
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +17 -2
- package/lib/modules/vaults/main.js +93 -8
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/read.actions.d.ts +8 -0
- package/lib/modules/vaults/read.actions.js +26 -0
- package/lib/modules/vaults/read.actions.js.map +1 -1
- package/lib/modules/vaults/types.d.ts +1 -0
- package/lib/modules/vaults/utils.js +32 -0
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/write.actions.d.ts +11 -0
- package/lib/modules/vaults/write.actions.js +151 -40
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/debank/fetcher.d.ts +108 -5
- package/lib/services/debank/fetcher.js.map +1 -1
- package/lib/services/debank/utils.js +51 -1
- package/lib/services/debank/utils.js.map +1 -1
- package/lib/types/vaults.d.ts +12 -0
- package/lib/types/vaults.js.map +1 -1
- package/lib/types/webserver.d.ts +12 -0
- package/package.json +14 -14
- package/lib/core/cache.d.ts +0 -25
- package/lib/core/cache.js +0 -53
- package/lib/core/cache.js.map +0 -1
- package/lib/modules/vaults/utils/callDataDecoder.d.ts +0 -14
- package/lib/modules/vaults/utils/callDataDecoder.js +0 -138
- package/lib/modules/vaults/utils/callDataDecoder.js.map +0 -1
- package/lib/modules/vaults/utils/dateUtils.d.ts +0 -11
- package/lib/modules/vaults/utils/dateUtils.js +0 -39
- package/lib/modules/vaults/utils/dateUtils.js.map +0 -1
- package/lib/modules/vaults/utils/index.d.ts +0 -2
- package/lib/modules/vaults/utils/index.js.map +0 -1
|
@@ -1,12 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getStellarUserPosition = exports.getStellarVault = void 0;
|
|
3
|
+
exports.convertToShares = exports.getStellarUserPosition = exports.getStellarVault = void 0;
|
|
4
|
+
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
4
5
|
const core_1 = require("../../core");
|
|
5
6
|
const utils_1 = require("../../modules/vaults/utils");
|
|
6
7
|
const constants_1 = require("./constants");
|
|
8
|
+
const soroban_1 = require("./soroban");
|
|
9
|
+
function parseDecimalsOrFallback(scVal, context, vaultAddress) {
|
|
10
|
+
if (!scVal) {
|
|
11
|
+
core_1.Logger.log.error(context, 'Decimals not available — using fallback (financial values may be incorrect)', {
|
|
12
|
+
vault: vaultAddress,
|
|
13
|
+
fallbackDecimals: constants_1.STELLAR_FALLBACK_DECIMALS,
|
|
14
|
+
});
|
|
15
|
+
return constants_1.STELLAR_FALLBACK_DECIMALS;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
return Number((0, stellar_sdk_1.scValToBigInt)(scVal));
|
|
19
|
+
}
|
|
20
|
+
catch (parseErr) {
|
|
21
|
+
core_1.Logger.log.error(context, 'Failed to parse decimals from Soroban — using fallback (financial values may be incorrect)', {
|
|
22
|
+
vault: vaultAddress,
|
|
23
|
+
fallbackDecimals: constants_1.STELLAR_FALLBACK_DECIMALS,
|
|
24
|
+
error: String(parseErr),
|
|
25
|
+
});
|
|
26
|
+
return constants_1.STELLAR_FALLBACK_DECIMALS;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function resolveNetwork(tokenizedVault) {
|
|
30
|
+
const meta = tokenizedVault.stellar_vault_metadata;
|
|
31
|
+
const networkName = meta?.network_name;
|
|
32
|
+
if (networkName === 'testnet' || networkName === 'mainnet') {
|
|
33
|
+
return networkName;
|
|
34
|
+
}
|
|
35
|
+
if (networkName) {
|
|
36
|
+
core_1.Logger.log.warn('resolveNetwork', `Unrecognized network "${networkName}", falling back to mainnet`, { vault: tokenizedVault.address });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
core_1.Logger.log.warn('resolveNetwork', 'No network_name in vault metadata — defaulting to mainnet', { vault: tokenizedVault.address });
|
|
40
|
+
}
|
|
41
|
+
return 'mainnet';
|
|
42
|
+
}
|
|
7
43
|
const getStellarVault = async (tokenizedVault, _options) => {
|
|
8
44
|
const stellarMetadata = tokenizedVault.stellar_vault_metadata;
|
|
9
|
-
const
|
|
45
|
+
const depositDecimals = stellarMetadata?.deposit_token_decimals ?? constants_1.STELLAR_FALLBACK_DECIMALS;
|
|
10
46
|
if (stellarMetadata?.deposit_token_decimals == null) {
|
|
11
47
|
core_1.Logger.log.warn('getStellarVault', 'Using fallback decimals — TVL may be incorrect if deposit token is not 7 decimals', {
|
|
12
48
|
vault: tokenizedVault.address,
|
|
@@ -14,11 +50,46 @@ const getStellarVault = async (tokenizedVault, _options) => {
|
|
|
14
50
|
STELLAR_FALLBACK_DECIMALS: constants_1.STELLAR_FALLBACK_DECIMALS,
|
|
15
51
|
});
|
|
16
52
|
}
|
|
17
|
-
const
|
|
53
|
+
const network = resolveNetwork(tokenizedVault);
|
|
54
|
+
const config = (0, soroban_1.resolveNetworkConfig)(network);
|
|
55
|
+
const [assetsResult, supplyResult, decimalsResult] = await Promise.all([
|
|
56
|
+
(0, soroban_1.queryContract)(config, tokenizedVault.address, 'total_assets'),
|
|
57
|
+
(0, soroban_1.queryContract)(config, tokenizedVault.address, 'total_supply'),
|
|
58
|
+
(0, soroban_1.queryContract)(config, tokenizedVault.address, 'decimals'),
|
|
59
|
+
]);
|
|
60
|
+
const shareDecimals = parseDecimalsOrFallback(decimalsResult, 'getStellarVault', tokenizedVault.address);
|
|
61
|
+
let totalAssets;
|
|
62
|
+
if (assetsResult) {
|
|
63
|
+
try {
|
|
64
|
+
const rawAssets = (0, stellar_sdk_1.scValToBigInt)(assetsResult);
|
|
65
|
+
totalAssets = (0, core_1.toNormalizedBn)(rawAssets, depositDecimals);
|
|
66
|
+
}
|
|
67
|
+
catch (parseErr) {
|
|
68
|
+
core_1.Logger.log.warn('getStellarVault', 'Failed to parse total_assets from Soroban — falling back to backend TVL', { vault: tokenizedVault.address, error: String(parseErr) });
|
|
69
|
+
totalAssets = (0, utils_1.backendTvlToNormalizedBn)(tokenizedVault.latest_reported_tvl, depositDecimals);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
core_1.Logger.log.warn('getStellarVault', 'Could not fetch total_assets from Soroban — falling back to backend TVL', { vault: tokenizedVault.address });
|
|
74
|
+
totalAssets = (0, utils_1.backendTvlToNormalizedBn)(tokenizedVault.latest_reported_tvl, depositDecimals);
|
|
75
|
+
}
|
|
76
|
+
let totalSupply = (0, core_1.toNormalizedBn)(0, shareDecimals);
|
|
77
|
+
if (supplyResult) {
|
|
78
|
+
try {
|
|
79
|
+
const rawSupply = (0, stellar_sdk_1.scValToBigInt)(supplyResult);
|
|
80
|
+
totalSupply = (0, core_1.toNormalizedBn)(rawSupply, shareDecimals);
|
|
81
|
+
}
|
|
82
|
+
catch (parseErr) {
|
|
83
|
+
core_1.Logger.log.warn('getStellarVault', 'Failed to parse total_supply from Soroban', { vault: tokenizedVault.address, error: String(parseErr) });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
core_1.Logger.log.warn('getStellarVault', 'Could not fetch total_supply from Soroban — falling back to 0', { vault: tokenizedVault.address });
|
|
88
|
+
}
|
|
18
89
|
const depositAsset = {
|
|
19
90
|
address: stellarMetadata?.deposit_token_address ?? '',
|
|
20
91
|
symbol: stellarMetadata?.deposit_token_symbol ?? 'UNKNOWN',
|
|
21
|
-
decimals:
|
|
92
|
+
decimals: depositDecimals,
|
|
22
93
|
};
|
|
23
94
|
const isDepositPaused = !depositAsset.address;
|
|
24
95
|
if (isDepositPaused) {
|
|
@@ -30,22 +101,93 @@ const getStellarVault = async (tokenizedVault, _options) => {
|
|
|
30
101
|
version: 'stellar-0',
|
|
31
102
|
name: tokenizedVault.vault_name || 'Stellar Vault',
|
|
32
103
|
totalAssets,
|
|
33
|
-
totalSupply
|
|
104
|
+
totalSupply,
|
|
34
105
|
depositAssets: [depositAsset],
|
|
35
106
|
receipt: {
|
|
36
107
|
address: tokenizedVault.address,
|
|
37
|
-
symbol: tokenizedVault.receipt_token_symbol || '
|
|
38
|
-
decimals:
|
|
108
|
+
symbol: tokenizedVault.receipt_token_symbol || 'UNKNOWN',
|
|
109
|
+
decimals: shareDecimals,
|
|
39
110
|
},
|
|
40
111
|
});
|
|
41
112
|
};
|
|
42
113
|
exports.getStellarVault = getStellarVault;
|
|
43
|
-
const getStellarUserPosition = async (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
114
|
+
const getStellarUserPosition = async (vaultAddress, walletAddress, network = 'mainnet') => {
|
|
115
|
+
const config = (0, soroban_1.resolveNetworkConfig)(network);
|
|
116
|
+
let userAddress;
|
|
117
|
+
try {
|
|
118
|
+
userAddress = new stellar_sdk_1.Address(walletAddress);
|
|
119
|
+
}
|
|
120
|
+
catch (addrErr) {
|
|
121
|
+
throw new Error(`getStellarUserPosition: invalid walletAddress "${walletAddress}": ${String(addrErr)}`);
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const [balanceResult, decimalsResult] = await Promise.all([
|
|
125
|
+
(0, soroban_1.queryContract)(config, vaultAddress, 'balance', [userAddress.toScVal()]),
|
|
126
|
+
(0, soroban_1.queryContract)(config, vaultAddress, 'decimals'),
|
|
127
|
+
]);
|
|
128
|
+
const decimals = parseDecimalsOrFallback(decimalsResult, 'getStellarUserPosition', vaultAddress);
|
|
129
|
+
if (!balanceResult) {
|
|
130
|
+
core_1.Logger.log.warn('getStellarUserPosition', 'Balance query returned null', {
|
|
131
|
+
vault: vaultAddress,
|
|
132
|
+
wallet: walletAddress,
|
|
133
|
+
});
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
let rawBalance;
|
|
137
|
+
try {
|
|
138
|
+
rawBalance = (0, stellar_sdk_1.scValToBigInt)(balanceResult);
|
|
139
|
+
}
|
|
140
|
+
catch (parseErr) {
|
|
141
|
+
core_1.Logger.log.error('getStellarUserPosition', 'Failed to parse balance ScVal — possible contract incompatibility', {
|
|
142
|
+
vault: vaultAddress,
|
|
143
|
+
wallet: walletAddress,
|
|
144
|
+
error: String(parseErr),
|
|
145
|
+
});
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
shares: rawBalance.toString(),
|
|
150
|
+
decimals,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
core_1.Logger.log.error('getStellarUserPosition', 'Unexpected error querying Stellar user position', {
|
|
155
|
+
vault: vaultAddress,
|
|
156
|
+
wallet: walletAddress,
|
|
157
|
+
error: String(err),
|
|
158
|
+
});
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
49
161
|
};
|
|
50
162
|
exports.getStellarUserPosition = getStellarUserPosition;
|
|
163
|
+
const convertToShares = async (vaultAddress, rawAmount, network = 'mainnet') => {
|
|
164
|
+
try {
|
|
165
|
+
new stellar_sdk_1.Address(vaultAddress);
|
|
166
|
+
}
|
|
167
|
+
catch (addrErr) {
|
|
168
|
+
throw new Error(`convertToShares: invalid vaultAddress "${vaultAddress}": ${String(addrErr)}`);
|
|
169
|
+
}
|
|
170
|
+
const config = (0, soroban_1.resolveNetworkConfig)(network);
|
|
171
|
+
const amountBigInt = (0, soroban_1.toBigIntAmount)(rawAmount, 'rawAmount');
|
|
172
|
+
const amountScVal = (0, stellar_sdk_1.nativeToScVal)(amountBigInt, { type: 'i128' });
|
|
173
|
+
const result = await (0, soroban_1.queryContract)(config, vaultAddress, 'convert_to_shares', [amountScVal]);
|
|
174
|
+
if (!result) {
|
|
175
|
+
core_1.Logger.log.warn('convertToShares', 'Soroban query returned no result', {
|
|
176
|
+
vault: vaultAddress,
|
|
177
|
+
rawAmount,
|
|
178
|
+
});
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
return (0, stellar_sdk_1.scValToBigInt)(result).toString();
|
|
183
|
+
}
|
|
184
|
+
catch (err) {
|
|
185
|
+
core_1.Logger.log.error('convertToShares', 'Failed to parse result — possible contract incompatibility', {
|
|
186
|
+
vault: vaultAddress,
|
|
187
|
+
error: String(err),
|
|
188
|
+
});
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
exports.convertToShares = convertToShares;
|
|
51
193
|
//# sourceMappingURL=getters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/getters.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/getters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as StellarConstants from './constants';
|
|
2
2
|
import * as StellarGetters from './getters';
|
|
3
3
|
import * as StellarActions from './actions';
|
|
4
|
-
import
|
|
4
|
+
import * as StellarSubmit from './submit';
|
|
5
|
+
import { IStellarNetwork, IStellarDepositParams, IStellarRedeemParams, IStellarUserPosition } from './types';
|
|
5
6
|
export declare const Stellar: {
|
|
6
7
|
utils: {
|
|
7
8
|
isStellarAddress: typeof import("./utils").isStellarAddress;
|
|
@@ -10,6 +11,7 @@ export declare const Stellar: {
|
|
|
10
11
|
};
|
|
11
12
|
constants: typeof StellarConstants;
|
|
12
13
|
actions: typeof StellarActions;
|
|
14
|
+
submit: typeof StellarSubmit;
|
|
13
15
|
getters: typeof StellarGetters;
|
|
14
16
|
};
|
|
15
17
|
declare class StellarAdapter {
|
|
@@ -18,7 +20,10 @@ declare class StellarAdapter {
|
|
|
18
20
|
get network(): IStellarNetwork;
|
|
19
21
|
isStellarAddress(address: string): boolean;
|
|
20
22
|
getExplorerLink(id: string, type?: 'contract' | 'account' | 'tx'): string;
|
|
21
|
-
vaultDeposit(params: IStellarDepositParams): Promise<string>;
|
|
22
|
-
vaultRedeem(params: IStellarRedeemParams): Promise<string>;
|
|
23
|
+
vaultDeposit(params: Omit<IStellarDepositParams, 'network'>): Promise<string>;
|
|
24
|
+
vaultRedeem(params: Omit<IStellarRedeemParams, 'network'>): Promise<string>;
|
|
25
|
+
submitTransaction(signedXdr: string): Promise<string>;
|
|
26
|
+
getUserPosition(vaultAddress: string, walletAddress: string): Promise<IStellarUserPosition | null>;
|
|
27
|
+
convertToShares(vaultAddress: string, rawAmount: string): Promise<string | null>;
|
|
23
28
|
}
|
|
24
29
|
export default StellarAdapter;
|
|
@@ -37,11 +37,13 @@ exports.Stellar = void 0;
|
|
|
37
37
|
const StellarConstants = __importStar(require("./constants"));
|
|
38
38
|
const StellarGetters = __importStar(require("./getters"));
|
|
39
39
|
const StellarActions = __importStar(require("./actions"));
|
|
40
|
+
const StellarSubmit = __importStar(require("./submit"));
|
|
40
41
|
const utils_1 = require("./utils");
|
|
41
42
|
exports.Stellar = {
|
|
42
43
|
utils: utils_1.StellarUtils,
|
|
43
44
|
constants: StellarConstants,
|
|
44
45
|
actions: StellarActions,
|
|
46
|
+
submit: StellarSubmit,
|
|
45
47
|
getters: StellarGetters,
|
|
46
48
|
};
|
|
47
49
|
class StellarAdapter {
|
|
@@ -58,10 +60,25 @@ class StellarAdapter {
|
|
|
58
60
|
return utils_1.StellarUtils.getExplorerLink({ id, type, network: this._network });
|
|
59
61
|
}
|
|
60
62
|
async vaultDeposit(params) {
|
|
61
|
-
return StellarActions.handleStellarDeposit(
|
|
63
|
+
return StellarActions.handleStellarDeposit({
|
|
64
|
+
...params,
|
|
65
|
+
network: this._network,
|
|
66
|
+
});
|
|
62
67
|
}
|
|
63
68
|
async vaultRedeem(params) {
|
|
64
|
-
return StellarActions.handleStellarRedeem(
|
|
69
|
+
return StellarActions.handleStellarRedeem({
|
|
70
|
+
...params,
|
|
71
|
+
network: this._network,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async submitTransaction(signedXdr) {
|
|
75
|
+
return StellarSubmit.submitStellarTransaction(signedXdr, this._network);
|
|
76
|
+
}
|
|
77
|
+
async getUserPosition(vaultAddress, walletAddress) {
|
|
78
|
+
return StellarGetters.getStellarUserPosition(vaultAddress, walletAddress, this._network);
|
|
79
|
+
}
|
|
80
|
+
async convertToShares(vaultAddress, rawAmount) {
|
|
81
|
+
return StellarGetters.convertToShares(vaultAddress, rawAmount, this._network);
|
|
65
82
|
}
|
|
66
83
|
}
|
|
67
84
|
exports.default = StellarAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,8DAAgD;AAChD,0DAA4C;AAC5C,0DAA4C;AAC5C,mCAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,8DAAgD;AAChD,0DAA4C;AAC5C,0DAA4C;AAC5C,wDAA0C;AAC1C,mCAAuC;AAQ1B,QAAA,OAAO,GAAG;IACrB,KAAK,EAAE,oBAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,cAAc;CACxB,CAAC;AAgBF,MAAM,cAAc;IAGlB,YAAY,UAA2B,SAAS;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,oBAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,IAAoC;QAC9D,OAAO,oBAAY,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,CAAC;IAMD,KAAK,CAAC,YAAY,CAChB,MAA8C;QAE9C,OAAO,cAAc,CAAC,oBAAoB,CAAC;YACzC,GAAG,MAAM;YACT,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;IAMD,KAAK,CAAC,WAAW,CACf,MAA6C;QAE7C,OAAO,cAAc,CAAC,mBAAmB,CAAC;YACxC,GAAG,MAAM;YACT,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;IAMD,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,OAAO,aAAa,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAMD,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,aAAqB;QAErB,OAAO,cAAc,CAAC,sBAAsB,CAC1C,YAAY,EACZ,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,SAAiB;QAEjB,OAAO,cAAc,CAAC,eAAe,CACnC,YAAY,EACZ,SAAS,EACT,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -20,6 +20,9 @@ function resolveNetworkConfig(network) {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
function toBigIntAmount(value, label) {
|
|
23
|
+
if (value === '') {
|
|
24
|
+
throw new Error(`Invalid ${label}: value must not be empty`);
|
|
25
|
+
}
|
|
23
26
|
let result;
|
|
24
27
|
try {
|
|
25
28
|
result = BigInt(value);
|
|
@@ -90,7 +93,7 @@ async function buildSorobanTx(config, sourceAddress, contractId, method, args) {
|
|
|
90
93
|
}
|
|
91
94
|
if ('restorePreamble' in simulated && simulated.restorePreamble) {
|
|
92
95
|
throw new Error(`Contract ledger state needs restoration before invoking ${method}. ` +
|
|
93
|
-
'Submit a restore footprint transaction first
|
|
96
|
+
'Submit a restore footprint transaction first.');
|
|
94
97
|
}
|
|
95
98
|
try {
|
|
96
99
|
const assembled = stellar_sdk_1.rpc.assembleTransaction(tx, simulated).build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"soroban.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/soroban.ts"],"names":[],"mappings":";;AA+BA,oCAIC;AAKD,oDAOC;AAMD,
|
|
1
|
+
{"version":3,"file":"soroban.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/soroban.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { IStellarNetwork } from './types';
|
|
1
2
|
export declare function isStellarAddress(address: string): boolean;
|
|
2
3
|
export declare function getExplorerLink({ id, type, network, }: {
|
|
3
4
|
id: string;
|
|
4
5
|
type?: 'contract' | 'account' | 'tx';
|
|
5
|
-
network?:
|
|
6
|
+
network?: IStellarNetwork;
|
|
6
7
|
}): string;
|
|
7
8
|
export declare function assertNotStellar(address: string, operation: string): void;
|
|
8
9
|
export declare const StellarUtils: {
|
|
@@ -4,6 +4,7 @@ exports.StellarUtils = void 0;
|
|
|
4
4
|
exports.isStellarAddress = isStellarAddress;
|
|
5
5
|
exports.getExplorerLink = getExplorerLink;
|
|
6
6
|
exports.assertNotStellar = assertNotStellar;
|
|
7
|
+
const STELLAR_ADDRESS_RE = /^[A-Z2-7]{56}$/;
|
|
7
8
|
function isStellarAddress(address) {
|
|
8
9
|
if (!address || typeof address !== 'string')
|
|
9
10
|
return false;
|
|
@@ -11,7 +12,7 @@ function isStellarAddress(address) {
|
|
|
11
12
|
return false;
|
|
12
13
|
if (address[0] !== 'G' && address[0] !== 'C')
|
|
13
14
|
return false;
|
|
14
|
-
return
|
|
15
|
+
return STELLAR_ADDRESS_RE.test(address);
|
|
15
16
|
}
|
|
16
17
|
function getExplorerLink({ id, type = 'contract', network = 'mainnet', }) {
|
|
17
18
|
const baseUrl = 'https://stellar.expert/explorer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/utils.ts"],"names":[],"mappings":";;;AAeA,4CAKC;AAKD,0CAYC;AAMD,4CAMC;AA1CD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAQ5C,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAKD,SAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,IAAI,GAAG,UAAU,EACjB,OAAO,GAAG,SAAS,GAKpB;IACC,MAAM,OAAO,GAAG,iCAAiC,CAAC;IAClD,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,OAAO,GAAG,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;AAC3C,CAAC;AAMD,SAAgB,gBAAgB,CAAC,OAAe,EAAE,SAAiB;IACjE,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,6CAA6C,OAAO,EAAE,CACnE,CAAC;IACJ,CAAC;AACH,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,gBAAgB;IAChB,eAAe;IACf,gBAAgB;CACjB,CAAC"}
|
|
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./methods"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src.ts/evm/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { IAddress } from '../../types';
|
|
2
|
+
import type { ICrossChainVaultConfig, ICrossChainBuildRequest, ICrossChainBuildResult, ICrossChainDepositRequest, ICrossChainDepositResult, ICrossChainRedeemRequest, ICrossChainRedeemResult, IQuoteCrossChainDepositRequest, IQuoteCrossChainRedeemRequest, IQuoteCrossChainResult, CrossChainErrorType } from '../types/crossChain';
|
|
3
|
+
export declare function buildCrossChainVaultTx(props: ICrossChainBuildRequest): Promise<ICrossChainBuildResult>;
|
|
4
|
+
export declare function quoteCrossChainDeposit(props: IQuoteCrossChainDepositRequest): Promise<IQuoteCrossChainResult | null>;
|
|
5
|
+
export declare function quoteCrossChainRedeem(props: IQuoteCrossChainRedeemRequest): Promise<IQuoteCrossChainResult | null>;
|
|
6
|
+
export declare function needsCrossChainApproval(tokenAddress: IAddress, spenderAddress: IAddress, walletAddress: IAddress, amount: bigint, publicClient: {
|
|
7
|
+
readContract: (args: unknown) => Promise<unknown>;
|
|
8
|
+
}): Promise<boolean>;
|
|
9
|
+
export declare function approveCrossChain(tokenAddress: IAddress, spenderAddress: IAddress, amount: bigint, walletClient: {
|
|
10
|
+
account: {
|
|
11
|
+
address: string;
|
|
12
|
+
} | undefined;
|
|
13
|
+
writeContract: (args: unknown) => Promise<string>;
|
|
14
|
+
}, publicClient: {
|
|
15
|
+
waitForTransactionReceipt: (args: {
|
|
16
|
+
hash: string;
|
|
17
|
+
}) => Promise<{
|
|
18
|
+
status: string;
|
|
19
|
+
}>;
|
|
20
|
+
}): Promise<string>;
|
|
21
|
+
export declare function crossChainVaultDeposit(props: ICrossChainDepositRequest): Promise<ICrossChainDepositResult>;
|
|
22
|
+
export declare function crossChainVaultRedeem(props: ICrossChainRedeemRequest): Promise<ICrossChainRedeemResult>;
|
|
23
|
+
export declare function isNoPeerError(errStr: string): boolean;
|
|
24
|
+
export declare function classifyCrossChainError(error: unknown): CrossChainErrorType;
|
|
25
|
+
export declare function canDepositFromChain(config: ICrossChainVaultConfig, userChainId: number): boolean;
|
|
26
|
+
export declare function canRedeemFromChain(config: ICrossChainVaultConfig, userChainId: number): boolean;
|
|
27
|
+
export declare function isCrossChainOperation(config: ICrossChainVaultConfig, userChainId: number, destinationChainId?: number): boolean;
|
|
28
|
+
export declare function getAvailableChains(config: ICrossChainVaultConfig): number[];
|
|
29
|
+
export declare function formatCrossChainError(errMsg: string): string;
|
|
30
|
+
export declare function getLayerZeroScanUrl(txHash: string, testnet?: boolean): string;
|
|
31
|
+
export declare const LAYERZERO_ENDPOINT_IDS: {
|
|
32
|
+
readonly ETHEREUM: 30101;
|
|
33
|
+
readonly ARBITRUM: 30110;
|
|
34
|
+
readonly AVALANCHE: 30106;
|
|
35
|
+
readonly BASE: 30184;
|
|
36
|
+
readonly SONIC: 30332;
|
|
37
|
+
readonly MONAD: 30390;
|
|
38
|
+
};
|