@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.
Files changed (82) hide show
  1. package/README.md +1 -1
  2. package/lib/abis/OFT.d.ts +96 -0
  3. package/lib/abis/OFT.js +65 -0
  4. package/lib/abis/OFT.js.map +1 -0
  5. package/lib/abis/RwaRedeemSubaccount.d.ts +4 -4
  6. package/lib/abis/RwaRedeemSubaccount.js +4 -4
  7. package/lib/abis/RwaRedeemSubaccount.js.map +1 -1
  8. package/lib/abis/index.d.ts +2 -0
  9. package/lib/abis/index.js +2 -0
  10. package/lib/abis/index.js.map +1 -1
  11. package/lib/adapters/stellar/actions.d.ts +2 -2
  12. package/lib/adapters/stellar/actions.js +36 -4
  13. package/lib/adapters/stellar/actions.js.map +1 -1
  14. package/lib/adapters/stellar/constants.d.ts +6 -1
  15. package/lib/adapters/stellar/constants.js +10 -4
  16. package/lib/adapters/stellar/constants.js.map +1 -1
  17. package/lib/adapters/stellar/getters.d.ts +3 -1
  18. package/lib/adapters/stellar/getters.js +155 -13
  19. package/lib/adapters/stellar/getters.js.map +1 -1
  20. package/lib/adapters/stellar/index.d.ts +8 -3
  21. package/lib/adapters/stellar/index.js +19 -2
  22. package/lib/adapters/stellar/index.js.map +1 -1
  23. package/lib/adapters/stellar/soroban.js +4 -1
  24. package/lib/adapters/stellar/soroban.js.map +1 -1
  25. package/lib/adapters/stellar/types.d.ts +4 -0
  26. package/lib/adapters/stellar/utils.d.ts +2 -1
  27. package/lib/adapters/stellar/utils.js +2 -1
  28. package/lib/adapters/stellar/utils.js.map +1 -1
  29. package/lib/evm/index.d.ts +2 -0
  30. package/lib/{modules/vaults/utils → evm}/index.js +2 -2
  31. package/lib/evm/index.js.map +1 -0
  32. package/lib/evm/methods/crossChainVault.d.ts +38 -0
  33. package/lib/evm/methods/crossChainVault.js +608 -0
  34. package/lib/evm/methods/crossChainVault.js.map +1 -0
  35. package/lib/evm/methods/index.d.ts +1 -0
  36. package/lib/evm/methods/index.js +18 -0
  37. package/lib/evm/methods/index.js.map +1 -0
  38. package/lib/evm/types/crossChain.d.ts +157 -0
  39. package/lib/evm/types/crossChain.js +3 -0
  40. package/lib/evm/types/crossChain.js.map +1 -0
  41. package/lib/evm/types/index.d.ts +1 -0
  42. package/lib/evm/types/index.js +18 -0
  43. package/lib/evm/types/index.js.map +1 -0
  44. package/lib/index.d.ts +1 -0
  45. package/lib/index.js +1 -0
  46. package/lib/index.js.map +1 -1
  47. package/lib/main.d.ts +1 -0
  48. package/lib/main.js.map +1 -1
  49. package/lib/modules/vaults/getters.d.ts +2 -1
  50. package/lib/modules/vaults/getters.js +35 -8
  51. package/lib/modules/vaults/getters.js.map +1 -1
  52. package/lib/modules/vaults/main.d.ts +17 -2
  53. package/lib/modules/vaults/main.js +93 -8
  54. package/lib/modules/vaults/main.js.map +1 -1
  55. package/lib/modules/vaults/read.actions.d.ts +8 -0
  56. package/lib/modules/vaults/read.actions.js +26 -0
  57. package/lib/modules/vaults/read.actions.js.map +1 -1
  58. package/lib/modules/vaults/types.d.ts +1 -0
  59. package/lib/modules/vaults/utils.js +32 -0
  60. package/lib/modules/vaults/utils.js.map +1 -1
  61. package/lib/modules/vaults/write.actions.d.ts +11 -0
  62. package/lib/modules/vaults/write.actions.js +151 -40
  63. package/lib/modules/vaults/write.actions.js.map +1 -1
  64. package/lib/services/debank/fetcher.d.ts +108 -5
  65. package/lib/services/debank/fetcher.js.map +1 -1
  66. package/lib/services/debank/utils.js +51 -1
  67. package/lib/services/debank/utils.js.map +1 -1
  68. package/lib/types/vaults.d.ts +12 -0
  69. package/lib/types/vaults.js.map +1 -1
  70. package/lib/types/webserver.d.ts +12 -0
  71. package/package.json +14 -14
  72. package/lib/core/cache.d.ts +0 -25
  73. package/lib/core/cache.js +0 -53
  74. package/lib/core/cache.js.map +0 -1
  75. package/lib/modules/vaults/utils/callDataDecoder.d.ts +0 -14
  76. package/lib/modules/vaults/utils/callDataDecoder.js +0 -138
  77. package/lib/modules/vaults/utils/callDataDecoder.js.map +0 -1
  78. package/lib/modules/vaults/utils/dateUtils.d.ts +0 -11
  79. package/lib/modules/vaults/utils/dateUtils.js +0 -39
  80. package/lib/modules/vaults/utils/dateUtils.js.map +0 -1
  81. package/lib/modules/vaults/utils/index.d.ts +0 -2
  82. 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 decimals = stellarMetadata?.deposit_token_decimals ?? constants_1.STELLAR_FALLBACK_DECIMALS;
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 totalAssets = (0, utils_1.backendTvlToNormalizedBn)(tokenizedVault.latest_reported_tvl, decimals);
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: 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: (0, core_1.toNormalizedBn)(0, decimals),
104
+ totalSupply,
34
105
  depositAssets: [depositAsset],
35
106
  receipt: {
36
107
  address: tokenizedVault.address,
37
- symbol: tokenizedVault.receipt_token_symbol || 'upSTELLAR',
38
- decimals: 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 (_vaultAddress, _walletAddress) => {
44
- core_1.Logger.log.warn('getStellarUserPosition', 'Stellar position tracking not yet implemented', {
45
- vault: _vaultAddress,
46
- wallet: _walletAddress,
47
- });
48
- return null;
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":";;;AAOA,qCAAoD;AAGpD,sDAGoC;AACpC,2CAA0E;AAMnE,MAAM,eAAe,GAAG,KAAK,EAClC,cAA+B,EAC/B,QAA2B,EACV,EAAE;IACnB,MAAM,eAAe,GAAG,cAAc,CAAC,sBAAsB,CAAC;IAE9D,MAAM,QAAQ,GACZ,eAAe,EAAE,sBAAsB,IAAI,qCAAyB,CAAC;IACvE,IAAI,eAAe,EAAE,sBAAsB,IAAI,IAAI,EAAE,CAAC;QACpD,aAAM,CAAC,GAAG,CAAC,IAAI,CACb,iBAAiB,EACjB,mFAAmF,EACnF;YACE,KAAK,EAAE,cAAc,CAAC,OAAO;YAC7B,YAAY,EAAE,eAAe,EAAE,qBAAqB,IAAI,SAAS;YACjE,yBAAyB,EAAzB,qCAAyB;SAC1B,CACF,CAAC;IACJ,CAAC;IAID,MAAM,WAAW,GAAG,IAAA,gCAAwB,EAC1C,cAAc,CAAC,mBAAmB,EAClC,QAAQ,CACT,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE,eAAe,EAAE,qBAAqB,IAAI,EAAE;QACrD,MAAM,EAAE,eAAe,EAAE,oBAAoB,IAAI,SAAS;QAC1D,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;IAC9C,IAAI,eAAe,EAAE,CAAC;QACpB,aAAM,CAAC,GAAG,CAAC,IAAI,CACb,iBAAiB,EACjB,wEAAwE,EACxE,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,yBAAiB,EAAC,cAAc,EAAE;QACvC,eAAe;QACf,OAAO,EAAE,4BAAgB;QACzB,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,cAAc,CAAC,UAAU,IAAI,eAAe;QAClD,WAAW;QACX,WAAW,EAAE,IAAA,qBAAc,EAAC,CAAC,EAAE,QAAQ,CAAC;QACxC,aAAa,EAAE,CAAC,YAAY,CAAC;QAC7B,OAAO,EAAE;YAEP,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,MAAM,EAAE,cAAc,CAAC,oBAAoB,IAAI,WAAW;YAC1D,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,eAAe,mBAyD1B;AAOK,MAAM,sBAAsB,GAAG,KAAK,EACzC,aAAqB,EACrB,cAAsB,EACP,EAAE;IACjB,aAAM,CAAC,GAAG,CAAC,IAAI,CACb,wBAAwB,EACxB,+CAA+C,EAC/C;QACE,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,cAAc;KACvB,CACF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAbW,QAAA,sBAAsB,0BAajC"}
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 { IStellarNetwork, IStellarDepositParams, IStellarRedeemParams } from './types';
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(params);
63
+ return StellarActions.handleStellarDeposit({
64
+ ...params,
65
+ network: this._network,
66
+ });
62
67
  }
63
68
  async vaultRedeem(params) {
64
- return StellarActions.handleStellarRedeem(params);
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;AAO1B,QAAA,OAAO,GAAG;IACrB,KAAK,EAAE,oBAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;CACxB,CAAC;AAYF,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;IAQD,KAAK,CAAC,YAAY,CAAC,MAA6B;QAC9C,OAAO,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAQD,KAAK,CAAC,WAAW,CAAC,MAA4B;QAC5C,OAAO,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
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 (see StellarAdapter.restoreFootprint).');
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":"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"}
1
+ {"version":3,"file":"soroban.js","sourceRoot":"","sources":["../../../src.ts/adapters/stellar/soroban.ts"],"names":[],"mappings":"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"}
@@ -13,3 +13,7 @@ export interface IStellarRedeemParams {
13
13
  receiverAddress: string;
14
14
  network: IStellarNetwork;
15
15
  }
16
+ export interface IStellarUserPosition {
17
+ shares: string;
18
+ decimals: number;
19
+ }
@@ -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?: 'mainnet' | 'testnet';
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 /^[A-Z2-7]{56}$/.test(address);
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":";;;AAUA,4CAMC;AAKD,0CAYC;AAMD,4CAMC;AAnCD,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;IAE3D,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,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"}
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"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export * from './methods';
@@ -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("./dateUtils"), exports);
18
- __exportStar(require("./callDataDecoder"), exports);
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
+ };