@katanaperps/katana-perps-sdk 1.1.0-alpha.3 → 1.1.0-beta.2
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/bridge/config.d.ts +3 -2
- package/dist/bridge/config.d.ts.map +1 -1
- package/dist/bridge/config.js +4 -3
- package/dist/bridge/deposit.d.ts +2 -9
- package/dist/bridge/deposit.d.ts.map +1 -1
- package/dist/bridge/deposit.js +4 -60
- package/dist/bridge/utils.d.ts +3 -3
- package/dist/bridge/utils.d.ts.map +1 -1
- package/dist/bridge/utils.js +6 -17
- package/dist/client/rest/authenticated.d.ts +7 -17
- package/dist/client/rest/authenticated.d.ts.map +1 -1
- package/dist/client/rest/authenticated.js +16 -19
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts +13 -13
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts.map +1 -1
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts +78 -50
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts.map +1 -1
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts +15 -15
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.js +20 -20
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts +96 -61
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts.map +1 -1
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.js +117 -72
- package/dist/typechain-types/factories/index.d.ts +0 -3
- package/dist/typechain-types/factories/index.d.ts.map +1 -1
- package/dist/typechain-types/factories/index.js +1 -7
- package/dist/typechain-types/index.d.ts +0 -6
- package/dist/typechain-types/index.d.ts.map +1 -1
- package/dist/typechain-types/index.js +1 -7
- package/dist/types/rest/endpoints/DelegatedKeys.d.ts +2 -0
- package/dist/types/rest/endpoints/DelegatedKeys.d.ts.map +1 -1
- package/dist/types/rest/endpoints/GetExchange.d.ts +0 -44
- package/dist/types/rest/endpoints/GetExchange.d.ts.map +1 -1
- package/dist/types/rest/endpoints/internal.d.ts +0 -8
- package/dist/types/rest/endpoints/internal.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/abis/ExchangeLocalDepositAdapter_v1.json +0 -318
- package/dist/abis/FixedIncomeVaultProviderStateAggregator_v1.json +0 -229
- package/dist/abis/FixedIncomeVaultProvider_v1.json +0 -2640
- package/dist/typechain-types/ExchangeLocalDepositAdapter_v1.d.ts +0 -210
- package/dist/typechain-types/ExchangeLocalDepositAdapter_v1.d.ts.map +0 -1
- package/dist/typechain-types/ExchangeLocalDepositAdapter_v1.js +0 -2
- package/dist/typechain-types/factories/ExchangeLocalDepositAdapter_v1__factory.d.ts +0 -255
- package/dist/typechain-types/factories/ExchangeLocalDepositAdapter_v1__factory.d.ts.map +0 -1
- package/dist/typechain-types/factories/ExchangeLocalDepositAdapter_v1__factory.js +0 -335
package/dist/bridge/config.d.ts
CHANGED
|
@@ -109,9 +109,10 @@ export declare const BridgeConfig: {
|
|
|
109
109
|
readonly testnet: {
|
|
110
110
|
readonly "katana.katana": {
|
|
111
111
|
readonly target: "katana.katana";
|
|
112
|
+
readonly isSupported: true;
|
|
112
113
|
readonly evmChainId: 737373;
|
|
113
|
-
readonly layerZeroEndpointId:
|
|
114
|
-
readonly layerzeroOFTAddress: "
|
|
114
|
+
readonly layerZeroEndpointId: -1;
|
|
115
|
+
readonly layerzeroOFTAddress: "0x0000000000000000000000000000000000000000";
|
|
115
116
|
readonly tokenDecimals: 6;
|
|
116
117
|
readonly usdcAddress: "0xc2a4C310F2512A17Ac0047cf871aCAed3E62bB4B";
|
|
117
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,oOAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,oOAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKf,CAAC;AAEX,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B7C,CAAC;AAEF;;;;;;;GAOG;AAEH,wBAAgB,mBAAmB,CAEjC,KAAK,EAAE,GAAG,GACT,KAAK,IAAI,YAAY,CAEvB"}
|
package/dist/bridge/config.js
CHANGED
|
@@ -145,11 +145,12 @@ exports.BridgeConfig = {
|
|
|
145
145
|
testnet: {
|
|
146
146
|
[request_1.BridgeTarget.KATANA_KATANA]: {
|
|
147
147
|
target: request_1.BridgeTarget.KATANA_KATANA,
|
|
148
|
+
isSupported: true,
|
|
148
149
|
evmChainId: 737373,
|
|
149
|
-
//
|
|
150
|
-
layerZeroEndpointId:
|
|
150
|
+
// No LZ connection yet on Bokuto testnet
|
|
151
|
+
layerZeroEndpointId: -1,
|
|
151
152
|
// No OFT currently supported on Bokuto testnet
|
|
152
|
-
layerzeroOFTAddress: '
|
|
153
|
+
layerzeroOFTAddress: '0x0000000000000000000000000000000000000000',
|
|
153
154
|
tokenDecimals: 6,
|
|
154
155
|
// vbUSDC
|
|
155
156
|
usdcAddress: '0xc2a4C310F2512A17Ac0047cf871aCAed3E62bB4B',
|
package/dist/bridge/deposit.d.ts
CHANGED
|
@@ -22,8 +22,7 @@ export type DepositToWalletBridgePayloadParameters = {
|
|
|
22
22
|
};
|
|
23
23
|
export type DepositBaseParameters = {
|
|
24
24
|
exchangeLayerZeroAdapterAddress?: string;
|
|
25
|
-
|
|
26
|
-
minimumForwardQuantityMultiplierInPips?: bigint;
|
|
25
|
+
minimumForwardQuantityMultiplierInPips: bigint;
|
|
27
26
|
quantityInAssetUnits: bigint;
|
|
28
27
|
sourceBridgeTarget: BridgeTarget;
|
|
29
28
|
stargateBridgeForwarderContractAddress?: string;
|
|
@@ -112,13 +111,7 @@ export declare function depositViaForwarder(parameters: AddManagedAccountParamet
|
|
|
112
111
|
}, sourceSigner: ethers.Signer, sandbox: boolean, extraRequestParams?: Pick<TransactionRequest, 'nonce'>,
|
|
113
112
|
/** Let software wallet show estimate to the user. Even on expected TX failure. */
|
|
114
113
|
ignoreEstimateError?: boolean): Promise<string>;
|
|
115
|
-
|
|
116
|
-
* Deposit funds locally on Katana
|
|
117
|
-
*/
|
|
118
|
-
export declare function depositLocally(parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters, signer: ethers.Signer, sandbox: boolean, extraRequestParams?: Pick<TransactionRequest, 'nonce'>,
|
|
119
|
-
/** Let software wallet show estimate to the user. Even on expected TX failure. */
|
|
120
|
-
ignoreEstimateError?: boolean): Promise<string>;
|
|
121
|
-
export declare function encodeDepositBridgeAdapterPayload(sourceConfig: ReturnType<typeof getBridgeTargetConfig>, parameters: Pick<AddManagedAccountParameters, 'bridgePayloadType' | 'fixedIncomeVaultProviderAddress' | 'managerWallet' | 'addManagedAccountPayload'> | Pick<DepositToManagedAccountParameters, 'bridgePayloadType' | 'depositorWallet' | 'fixedIncomeVaultProviderAddress' | 'managerWallet'> | Pick<DepositToWalletParameters, 'bridgePayloadType' | 'depositorWallet'>): EncodedDepositBridgeAdapterPayload;
|
|
114
|
+
export declare function encodeDepositBridgeAdapterPayload(sourceConfig: ReturnType<typeof getBridgeTargetConfig>, parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters): EncodedDepositBridgeAdapterPayload;
|
|
122
115
|
export declare function encodeFixedIncomeVaultConfigurationFields(configurationFields: FixedIncomeVaultConfigurationFields): string;
|
|
123
116
|
/**
|
|
124
117
|
* Estimate native gas fee needed to deposit USDC cross-chain into the Exchange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../src/bridge/deposit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../src/bridge/deposit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AASzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,oBAAY,+BAA+B;IACzC,iBAAiB,IAAA;IACjB,uBAAuB,IAAA;IACvB,eAAe,IAAA;CAChB;AAED,MAAM,MAAM,wCAAwC,GAAG;IACrD,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,8CAA8C,GAAG;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,YAAY,CAAC;IACjC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,iBAAiB,EAAE,+BAA+B,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,iBAAiB,CAAC;CACtE,GAAG,wCAAwC,CAC7C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,MAAM,CACpD,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,uBAAuB,CAAC;CAC5E,GAAG,8CAA8C,CACnD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC5C,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,eAAe,CAAC;CACpE,GAAG,sCAAsC,CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,mCAAmC,GAAG;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,sFAAsF,EAAE,MAAM,CAAC;IAC/F,gGAAgG,EAAE,MAAM,CAAC;IACzG,oDAAoD,EAAE,MAAM,CAAC;IAC7D,yCAAyC,EAAE,MAAM,CAAC;IAClD,oCAAoC,EAAE,MAAM,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,yCAAyC,QACL,CAAC;AAElD,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,kCAAkC,UAM5C;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;cAwE5C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,YAAY,EAAE,MAAM,CAAC,MAAM,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;AACtD,kFAAkF;AAClF,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,YAAY,EAAE,MAAM,CAAC,MAAM,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;AACtD,kFAAkF;AAClF,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,YAAY,EAAE,MAAM,CAAC,MAAM,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC;AACtD,kFAAkF;AAClF,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC,MAAM,CAAC,CAuEjB;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACtD,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,GAC5B,kCAAkC,CAuDpC;AAED,wBAAgB,yCAAyC,CACvD,mBAAmB,EAAE,mCAAmC,UAkBzD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAC,CAMD;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,UAqB9B"}
|
package/dist/bridge/deposit.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDestinationWallet = exports.estimateDepositFees = exports.encodeFixedIncomeVaultConfigurationFields = exports.encodeDepositBridgeAdapterPayload = exports.
|
|
3
|
+
exports.getDestinationWallet = exports.estimateDepositFees = exports.encodeFixedIncomeVaultConfigurationFields = exports.encodeDepositBridgeAdapterPayload = exports.depositViaForwarder = exports.depositViaVaultComposerSync = exports.depositViaBridge = exports.decodeDepositBridgeAdapterPayload = exports.decodeDepositBridgeAdapterPayloadType = exports.depositBridgeAdapterPayloadLengths = exports.fixedIncomeVaultConfigurationFieldsLength = exports.DepositBridgeAdapterPayloadType = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
|
|
6
6
|
const ethers_1 = require("ethers");
|
|
@@ -120,10 +120,9 @@ ignoreEstimateError) {
|
|
|
120
120
|
}
|
|
121
121
|
const response = await vaultComposerSync.depositAndSend.send(parameters.quantityInAssetUnits, sendParam, sourceWallet, // Refund address - extra gas (if any) is returned to this address
|
|
122
122
|
{
|
|
123
|
-
...extraRequestParams,
|
|
124
123
|
from: sourceWallet,
|
|
125
124
|
gasLimit,
|
|
126
|
-
value: gasFee,
|
|
125
|
+
value: gasFee,
|
|
127
126
|
});
|
|
128
127
|
return response.hash;
|
|
129
128
|
}
|
|
@@ -146,7 +145,8 @@ ignoreEstimateError) {
|
|
|
146
145
|
const estimatedGasLimit = await oft.send.estimateGas(sendParam, { nativeFee: gasFee, lzTokenFee: 0 }, sourceWallet, // Refund address - extra gas (if any) is returned to this address
|
|
147
146
|
{
|
|
148
147
|
...extraRequestParams,
|
|
149
|
-
from: sourceWallet,
|
|
148
|
+
from: sourceWallet,
|
|
149
|
+
// Native gas to pay for the cross chain message fee
|
|
150
150
|
value: gasFee,
|
|
151
151
|
});
|
|
152
152
|
// Add 20% buffer for safety
|
|
@@ -175,7 +175,6 @@ ignoreEstimateError) {
|
|
|
175
175
|
}
|
|
176
176
|
const response = await oft.send(sendParam, { nativeFee: gasFee, lzTokenFee: 0 }, sourceWallet, // Refund address - extra gas (if any) is returned to this address
|
|
177
177
|
{
|
|
178
|
-
...extraRequestParams,
|
|
179
178
|
from: sourceWallet,
|
|
180
179
|
gasLimit,
|
|
181
180
|
value: gasFee,
|
|
@@ -183,55 +182,6 @@ ignoreEstimateError) {
|
|
|
183
182
|
return response.hash;
|
|
184
183
|
}
|
|
185
184
|
exports.depositViaForwarder = depositViaForwarder;
|
|
186
|
-
/**
|
|
187
|
-
* Deposit funds locally on Katana
|
|
188
|
-
*/
|
|
189
|
-
async function depositLocally(parameters, signer, sandbox, extraRequestParams,
|
|
190
|
-
/** Let software wallet show estimate to the user. Even on expected TX failure. */
|
|
191
|
-
ignoreEstimateError) {
|
|
192
|
-
const sourceConfig = (0, utils_1.getBridgeTargetConfig)(request_1.BridgeTarget.KATANA_KATANA, sandbox);
|
|
193
|
-
const exchangeLocalDepositAdapterAddress = await (0, utils_1.loadExchangeLocalDepositAddressFromApiIfNeeded)(parameters.exchangeLocalDepositAdapterAddress);
|
|
194
|
-
let gasLimit = config_1.BridgeConfig.settings.depositSourceChainGasLimit;
|
|
195
|
-
const localDepositAdapter = index_1.ExchangeLocalDepositAdapter_v1__factory.connect(exchangeLocalDepositAdapterAddress, signer);
|
|
196
|
-
const wallet = await signer.getAddress();
|
|
197
|
-
try {
|
|
198
|
-
// Estimate gas
|
|
199
|
-
const estimatedGasLimit = await localDepositAdapter.deposit.estimateGas(parameters.quantityInAssetUnits, encodeDepositBridgeAdapterPayload(sourceConfig, parameters), {
|
|
200
|
-
...extraRequestParams,
|
|
201
|
-
from: wallet,
|
|
202
|
-
});
|
|
203
|
-
// Add 20% buffer for safety
|
|
204
|
-
gasLimit = Number(new bignumber_js_1.default(estimatedGasLimit.toString())
|
|
205
|
-
.times(new bignumber_js_1.default(1.2))
|
|
206
|
-
.toFixed(0));
|
|
207
|
-
}
|
|
208
|
-
catch (error) {
|
|
209
|
-
// ethers.js will perform the estimation at the block gas limit, which is much higher than the
|
|
210
|
-
// gas actually needed by the tx. If the wallet does not have the funds to cover the tx at this
|
|
211
|
-
// high gas limit then the RPC will throw an INSUFFICIENT_FUNDS error; however the wallet may
|
|
212
|
-
// still have enough funds to successfully bridge at the actual gas limit. In this case simply
|
|
213
|
-
// fall through and use the configured default gas limit. The wallet software in use should
|
|
214
|
-
// still show if that limit is insufficient, which is only an issue for blockchains with
|
|
215
|
-
// variable gas costs such as Arbitrum One
|
|
216
|
-
if (error?.code === 'INSUFFICIENT_FUNDS') {
|
|
217
|
-
console.log('[depositViaForwarder] Insufficient funds - continue with default gas');
|
|
218
|
-
}
|
|
219
|
-
else if (ignoreEstimateError) {
|
|
220
|
-
// TODO: In latest contract it throws 'CALL_EXCEPTION' instead of 'INSUFFICIENT_FUNDS'
|
|
221
|
-
console.log('[depositViaForwarder] Estimate failed - continue with default gas', error);
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
throw error;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
const response = await localDepositAdapter.deposit(parameters.quantityInAssetUnits, encodeDepositBridgeAdapterPayload(sourceConfig, parameters), {
|
|
228
|
-
...extraRequestParams,
|
|
229
|
-
gasLimit,
|
|
230
|
-
from: wallet,
|
|
231
|
-
});
|
|
232
|
-
return response.hash;
|
|
233
|
-
}
|
|
234
|
-
exports.depositLocally = depositLocally;
|
|
235
185
|
function encodeDepositBridgeAdapterPayload(sourceConfig, parameters) {
|
|
236
186
|
if (parameters.bridgePayloadType ===
|
|
237
187
|
DepositBridgeAdapterPayloadType.addManagedAccount) {
|
|
@@ -345,9 +295,6 @@ async function estimateDepositViaForwarderFees(parameters, providers, sandbox) {
|
|
|
345
295
|
};
|
|
346
296
|
}
|
|
347
297
|
async function getDepositFromEthereumSendParamAndSourceConfig(parameters, sandbox) {
|
|
348
|
-
if (!parameters.minimumForwardQuantityMultiplierInPips) {
|
|
349
|
-
throw new Error('minimumForwardQuantityMultiplierInPips is required for deposit via forwarder');
|
|
350
|
-
}
|
|
351
298
|
const { sourceConfig, destinationConfig } = getSourceAndDestinationConfigs(request_1.BridgeTarget.STARGATE_ETHEREUM, request_1.BridgeTarget.KATANA_KATANA, sandbox);
|
|
352
299
|
const exchangeLayerZeroAdapterAddress = await (0, utils_1.loadExchangeLayerZeroAddressFromApiIfNeeded)(parameters.exchangeLayerZeroAdapterAddress);
|
|
353
300
|
const { Options } = await import('@layerzerolabs/lz-v2-utilities');
|
|
@@ -372,9 +319,6 @@ async function getDepositFromEthereumSendParamAndSourceConfig(parameters, sandbo
|
|
|
372
319
|
};
|
|
373
320
|
}
|
|
374
321
|
async function getDepositViaForwarderSendParamAndSourceConfig(parameters, providers, sandbox) {
|
|
375
|
-
if (!parameters.minimumForwardQuantityMultiplierInPips) {
|
|
376
|
-
throw new Error('minimumForwardQuantityMultiplierInPips is required for deposit via forwarder');
|
|
377
|
-
}
|
|
378
322
|
const { sourceConfig, destinationConfig: ethereumConfig } = getSourceAndDestinationConfigs(parameters.sourceBridgeTarget, request_1.BridgeTarget.STARGATE_ETHEREUM, sandbox);
|
|
379
323
|
const { gasFee: ethereumGasFee } = await estimateDepositFromEthereumFees(parameters, providers, sandbox);
|
|
380
324
|
// Add 20% buffer for safety
|
package/dist/bridge/utils.d.ts
CHANGED
|
@@ -16,9 +16,10 @@ export declare function isBridgeTestnetLayerZeroEndpointId(layerZeroEndpointId:
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function getBridgeTargetConfig<T extends BridgeTarget, S extends true | false>(bridgeTarget: T, sandbox: S): {
|
|
18
18
|
readonly target: "katana.katana";
|
|
19
|
+
readonly isSupported: true;
|
|
19
20
|
readonly evmChainId: 737373;
|
|
20
|
-
readonly layerZeroEndpointId:
|
|
21
|
-
readonly layerzeroOFTAddress: "
|
|
21
|
+
readonly layerZeroEndpointId: -1;
|
|
22
|
+
readonly layerzeroOFTAddress: "0x0000000000000000000000000000000000000000";
|
|
22
23
|
readonly tokenDecimals: 6;
|
|
23
24
|
readonly usdcAddress: "0xc2a4C310F2512A17Ac0047cf871aCAed3E62bB4B";
|
|
24
25
|
} | {
|
|
@@ -129,6 +130,5 @@ export declare function getBridgeTargetConfig<T extends BridgeTarget, S extends
|
|
|
129
130
|
}[T];
|
|
130
131
|
export declare function bridgeTargetForLayerZeroEndpointId(layerZeroEndpointId: number, sandbox: boolean): "stargate.arbitrum" | "stargate.aurora" | "stargate.avalanche" | "stargate.base" | "stargate.berachain" | "stargate.ethereum" | "stargate.optimism" | "stargate.rari" | "stargate.scroll" | "stargate.taiko" | null;
|
|
131
132
|
export declare function loadExchangeLayerZeroAddressFromApiIfNeeded(exchangeLayerZeroAdapterAddress?: string): Promise<string>;
|
|
132
|
-
export declare function loadExchangeLocalDepositAddressFromApiIfNeeded(exchangeLocalDepositAdapterAddress?: string): Promise<string>;
|
|
133
133
|
export declare function loadStargateBridgeForwarderContractAddressFromApiIfNeeded(stargateBridgeForwarderContractAddress?: string): Promise<string>;
|
|
134
134
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAO,MAAM,iCAAiC,mFAI5C,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAC3C,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,wBAAgB,kCAAkC,CAChD,mBAAmB,EAAE,MAAM,GAC1B,mBAAmB,IAAI,iCAAiC,CAI1D;AAED,eAAO,MAAM,iCAAiC,mBAI5C,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAC3C,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,wBAAgB,kCAAkC,CAChD,mBAAmB,EAAE,MAAM,GAC1B,mBAAmB,IAAI,iCAAiC,CAI1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,IAAI,GAAG,KAAK,EACtB,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAY5B;AAED,wBAAgB,kCAAkC,CAChD,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,OAAO,uNAYjB;AAED,wBAAsB,2CAA2C,CAC/D,+BAA+B,CAAC,EAAE,MAAM,GACvC,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAsB,yDAAyD,CAC7E,sCAAsC,CAAC,EAAE,MAAM,GAC9C,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
package/dist/bridge/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadStargateBridgeForwarderContractAddressFromApiIfNeeded = exports.
|
|
3
|
+
exports.loadStargateBridgeForwarderContractAddressFromApiIfNeeded = exports.loadExchangeLayerZeroAddressFromApiIfNeeded = exports.bridgeTargetForLayerZeroEndpointId = exports.getBridgeTargetConfig = exports.isBridgeTestnetLayerZeroEndpointId = exports.BridgeTestnetLayerZeroEndpointIds = exports.isBridgeMainnetLayerZeroEndpointId = exports.BridgeMainnetLayerZeroEndpointIds = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
4
5
|
const config_1 = require("#bridge/config");
|
|
5
|
-
const public_1 = require("#client/rest/public");
|
|
6
6
|
exports.BridgeMainnetLayerZeroEndpointIds = Object.values(config_1.BridgeConfigByLayerZeroEndpointId.mainnet).map((value) => {
|
|
7
7
|
return value.layerZeroEndpointId;
|
|
8
8
|
});
|
|
@@ -52,26 +52,15 @@ async function loadExchangeLayerZeroAddressFromApiIfNeeded(exchangeLayerZeroAdap
|
|
|
52
52
|
if (exchangeLayerZeroAdapterAddress) {
|
|
53
53
|
return exchangeLayerZeroAdapterAddress;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
return
|
|
57
|
-
.stargateBridgeAdapterV1KatanaContractAddress;
|
|
55
|
+
// No bridge adapters currently supported
|
|
56
|
+
return ethers_1.ethers.ZeroAddress;
|
|
58
57
|
}
|
|
59
58
|
exports.loadExchangeLayerZeroAddressFromApiIfNeeded = loadExchangeLayerZeroAddressFromApiIfNeeded;
|
|
60
|
-
async function loadExchangeLocalDepositAddressFromApiIfNeeded(exchangeLocalDepositAdapterAddress) {
|
|
61
|
-
if (exchangeLocalDepositAdapterAddress) {
|
|
62
|
-
return exchangeLocalDepositAdapterAddress;
|
|
63
|
-
}
|
|
64
|
-
const [exchangeResponse] = await (0, public_1.loadExchangeResponseFromApiIfNeeded)();
|
|
65
|
-
return exchangeResponse.bridgeAdapters
|
|
66
|
-
.localDepositAdapterV1KatanaContractAddress;
|
|
67
|
-
}
|
|
68
|
-
exports.loadExchangeLocalDepositAddressFromApiIfNeeded = loadExchangeLocalDepositAddressFromApiIfNeeded;
|
|
69
59
|
async function loadStargateBridgeForwarderContractAddressFromApiIfNeeded(stargateBridgeForwarderContractAddress) {
|
|
70
60
|
if (stargateBridgeForwarderContractAddress) {
|
|
71
61
|
return stargateBridgeForwarderContractAddress;
|
|
72
62
|
}
|
|
73
|
-
|
|
74
|
-
return
|
|
75
|
-
.stargateBridgeForwarderV1EthereumContractAddress;
|
|
63
|
+
// No bridge adapters currently supported
|
|
64
|
+
return ethers_1.ethers.ZeroAddress;
|
|
76
65
|
}
|
|
77
66
|
exports.loadStargateBridgeForwarderContractAddressFromApiIfNeeded = loadStargateBridgeForwarderContractAddressFromApiIfNeeded;
|
|
@@ -84,9 +84,9 @@ export interface RestAuthenticatedClientOptions {
|
|
|
84
84
|
*/
|
|
85
85
|
chainId?: number;
|
|
86
86
|
/**
|
|
87
|
-
* Optionally provide the `
|
|
87
|
+
* Optionally provide the `bridgeAdapterContractAddress` as returned by the public clients
|
|
88
88
|
* {@link RestPublicClient.getExchange getExchange} response's
|
|
89
|
-
* {@link katanaperps.KatanaPerpsExchange.
|
|
89
|
+
* {@link katanaperps.KatanaPerpsExchange.bridgeAdapterContractAddress bridgeAdapterContractAddress}
|
|
90
90
|
* property.
|
|
91
91
|
*
|
|
92
92
|
* - If not provided, this will be fetched and cached automatically from the public client before
|
|
@@ -95,18 +95,6 @@ export interface RestAuthenticatedClientOptions {
|
|
|
95
95
|
* @internal
|
|
96
96
|
*/
|
|
97
97
|
bridgeAdapterContractAddress?: string;
|
|
98
|
-
/**
|
|
99
|
-
* Optionally provide the `localDepositAdapterV1KatanaContractAddress` as returned by the public clients
|
|
100
|
-
* {@link RestPublicClient.getExchange getExchange} response's
|
|
101
|
-
* {@link katanaperps.KatanaPerpsExchange.bridgeAdapters.localDepositAdapterV1KatanaContractAddress localDepositAdapterV1KatanaContractAddress}
|
|
102
|
-
* property.
|
|
103
|
-
*
|
|
104
|
-
* - If not provided, this will be fetched and cached automatically from the public client before
|
|
105
|
-
* making the first request which requires it.
|
|
106
|
-
*
|
|
107
|
-
* @internal
|
|
108
|
-
*/
|
|
109
|
-
localDepositAdapterContractAddress?: string;
|
|
110
98
|
/**
|
|
111
99
|
* - Changing this value will likely result in a broken client, internal use only.
|
|
112
100
|
*
|
|
@@ -228,7 +216,6 @@ export declare class RestAuthenticatedClient {
|
|
|
228
216
|
exchangeContractAddress?: string | undefined;
|
|
229
217
|
chainId?: number | undefined;
|
|
230
218
|
bridgeAdapterContractAddress?: string | undefined;
|
|
231
|
-
localDepositAdapterContractAddress?: string | undefined;
|
|
232
219
|
}>;
|
|
233
220
|
/**
|
|
234
221
|
* The {@link RestAuthenticatedClient} is used to make authenticated requests to the Katana Perps API. It includes
|
|
@@ -438,6 +425,10 @@ export declare class RestAuthenticatedClient {
|
|
|
438
425
|
* > - **API Key Scope:** [Trade](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
439
426
|
* ---
|
|
440
427
|
*
|
|
428
|
+
* Optional `name` on the request is a client label and must be **64 characters or fewer** when provided.
|
|
429
|
+
*
|
|
430
|
+
* ---
|
|
431
|
+
*
|
|
441
432
|
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestAuthenticatedClient.html#authorizeDelegatedKey)
|
|
442
433
|
* @see request {@link katanaperps.RestRequestAuthorizeDelegatedKeyParameters RestRequestAuthorizeDelegatedKeyParameters}
|
|
443
434
|
* @see response {@link katanaperps.RestResponseDelegatedKeyEntry RestResponseDelegatedKeyEntry}
|
|
@@ -1211,7 +1202,7 @@ export declare class RestAuthenticatedClient {
|
|
|
1211
1202
|
}) | undefined;
|
|
1212
1203
|
}>;
|
|
1213
1204
|
readonly setVaultDetails: (params: katanaPerps.RestRequestSetVaultDetails, signer?: undefined | katanaPerps.SignTypedData) => Promise<katanaPerps.RestResponseSetVaultDetails>;
|
|
1214
|
-
readonly removeVaultXConnection: (params: katanaPerps.RestRequestRemoveVaultXConnection) => Promise<void>;
|
|
1205
|
+
readonly removeVaultXConnection: (params: katanaPerps.RestRequestRemoveVaultXConnection, signer?: undefined | katanaPerps.SignTypedData) => Promise<void>;
|
|
1215
1206
|
readonly setVaultXConnection: (params: katanaPerps.RestRequestSetVaultXConnection, signer?: undefined | katanaPerps.SignTypedData) => Promise<void>;
|
|
1216
1207
|
readonly withdrawFromManagedAccountByQuantity: ($params: katanaPerps.RestRequestWithdrawFundsFromManagedAccountByQuantitySDK | katanaPerps.RestRequestWithdrawFundsFromManagedAccountByQuantity, signer?: undefined | katanaPerps.SignTypedData) => Promise<katanaPerps.KatanaPerpsWithdrawalFromManagedAccount>;
|
|
1217
1208
|
readonly withdrawFromManagedAccountByShares: ($params: katanaPerps.RestRequestWithdrawFundsFromManagedAccountBySharesSDK | katanaPerps.RestRequestWithdrawFundsFromManagedAccountByShares, signer?: undefined | katanaPerps.SignTypedData) => Promise<katanaPerps.KatanaPerpsWithdrawalFromManagedAccount>;
|
|
@@ -1220,7 +1211,6 @@ export declare class RestAuthenticatedClient {
|
|
|
1220
1211
|
chainId: number;
|
|
1221
1212
|
exchangeContractAddress: string;
|
|
1222
1213
|
bridgeAdapterContractAddress: string;
|
|
1223
|
-
localDepositAdapterContractAddress: string;
|
|
1224
1214
|
}>;
|
|
1225
1215
|
/**
|
|
1226
1216
|
* - Internal Use and may change or break without notice
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticated.d.ts","sourceRoot":"","sources":["../../../src/client/rest/authenticated.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticated.d.ts","sourceRoot":"","sources":["../../../src/client/rest/authenticated.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,OAAO,EAIL,eAAe,EAEhB,MAAM,QAAQ,CAAC;AAMhB,OAAO,KAAK,KAAK,WAAW,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,OAAO,CAAC;AAEf;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;OAUG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,uBAAuB;;IAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAU9C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAY9B;;;;;;;;;;;;OAYG;IACH,IAAW,MAAM;;;;;;;OAIhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;gBACgB,OAAO,EAAE,8BAA8B;IA8E1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACU,0BAA0B,CACrC,MAAM,EAAE,WAAW,CAAC,+CAA+C,GAClE,OAAO,CAAC,WAAW,CAAC,yCAAyC,CAAC;IACjE;;;;;;;;;;;;;OAaG;IACU,0BAA0B,CACrC,MAAM,EAAE,WAAW,CAAC,kDAAkD,GACrE,OAAO,CAAC,WAAW,CAAC,4CAA4C,CAAC;IAUpE;;;;;;;;;;;;;;;;;;;OAmBG;IACU,2BAA2B,CACtC,MAAM,GAAE,WAAW,CAAC,sCAA2C;IAQjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACU,eAAe,CAC1B,MAAM,EAAE,WAAW,CAAC,0BAA0B,EAC9C,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,GAAE,SAAS,GAAG,WAAW,CAAC,aAA4B;IAqB9D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,qBAAqB;IAIjE;;;;;;;;;;;;;;;;OAgBG;IACU,gBAAgB,CAC3B,MAAM,EAAE,WAAW,CAAC,2BAA2B;IAQjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,qBAAqB,CAChC,MAAM,EAAE,WAAW,CAAC,0CAA0C,EAC9D,MAAM,GAAE,SAAS,GAAG,WAAW,CAAC,aAA4B;IA0B9D;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,kBAAkB,CAC7B,MAAM,EAAE,WAAW,CAAC,uCAAuC,EAC3D,MAAM,GAAE,SAAS,GAAG,WAAW,CAAC,aAA4B,GAC3D,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC;IAyBtD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,uBAAuB;IAIrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4DG;IACU,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,SAAS,EACtD,MAAM,EAAE,WAAW,CAAC,gBAAgB,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,EAClD,MAAM,GAAE,SAAS,GAAG,WAAW,CAAC,aAA4B;IAoB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACU,YAAY,CACvB,MAAM,EAAE,WAAW,CAAC,uBAAuB,EAC3C,MAAM,GAAE,WAAW,CAAC,aAAa,GAAG,SAAwB;YAKhD,uBAAuB;IAuBrC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,mBAAmB;IAI7D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,oBAAoB;IAI/D;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,kBAAkB;IAI3D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACU,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,mBAAmB;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACU,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,0BAA0B;IAO3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACU,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,qBAAqB;IAIjE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,qBAAqB;IAIjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACU,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,sBAAsB;IAInE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACU,gCAAgC,CAAC,EAC5C,YAAY,EACZ,sBAAsB,GACvB,EAAE;QACD;;;;;;;;;WASG;QACH,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC;QACvC;;;;;;;;WAQG;QACH,sBAAsB,EAAE,MAAM,CAAC;KAChC;IAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACU,QAAQ,CACnB,OAAO,EACH,WAAW,CAAC,2BAA2B,GACvC,WAAW,CAAC,wBAAwB,EACxC,MAAM,GAAE,SAAS,GAAG,WAAW,CAAC,aAA4B;IAoC9D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACU,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,wBAAwB;IAOvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACU,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,yBAAyB;IAOzE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,kBAAkB,CAC7B,CAAC,GAAG,WAAW,CAAC,8BAA8B,EAC9C,MAAM,EAAE,WAAW,CAAC,6BAA6B;IAInD;;;;;;;;;;;;;;;;;;OAkBG;IACU,gCAAgC,CAC3C,CAAC,GAAG,WAAW,CAAC,4CAA4C,EAE5D,MAAM,EAAE,WAAW,CAAC,2CAA2C,EAC/D,MAAM,GAAE,WAAW,CAAC,aAAa,GAAG,SAAwB;IAoB9D;;;;;;;;;;;;;;;;;;OAkBG;IACU,gCAAgC,CAC3C,CAAC,GAAG,WAAW,CAAC,4CAA4C,EAC5D,MAAM,EAAE,WAAW,CAAC,2CAA2C;IAIjE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACU,gBAAgB,CAC3B,MAAM,EAAE,WAAW,CAAC,2BAA2B;IAQjD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACU,UAAU,CACrB,MAAM,EAAE,WAAW,CAAC,iCAAiC;IAcvD;;;;;;;OAOG;IACH,SAAgB,CAAC,eAAe,CAAC;QAC/B;;;WAGG;2DAEO,YAAY,uBAAuB,WACnC,YAAY,aAAa,GAAG,SAAS;QAS/C;;;WAGG;6DAEO,YAAY,uBAAuB,WACnC,YAAY,aAAa,GAAG,SAAS;;yCA4BrC,YAAY,uCAAuC;yHAgBhC,YAAY,gBAAgB,GAAG;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,4BAC3C,MAAM,WACxB,SAAS,GAAG,YAAY,aAAa,KAC5C,QAAQ,YAAY,oBAAoB,GAAG;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,CAAC;;;;;;sBAkC9C,OAAO,YAAY,SAAS,CAAC,gBAAgB;;;sBAG7C,OAAO,YAAY,SAAS,CAAC,cAAc;;oBAG7C,SAAS,GAAG,YAAY,aAAa;;;;;;;;;;;;;;;;;;;sBAIrC,OAAO,YAAY,SAAS,CAAC,gBAAgB;;;;;;;;;;sBAG7C,OAAO,YAAY,SAAS,CAAC,cAAc;;;2CAuD3C,YAAY,0BAA0B,WACtC,SAAS,GAAG,YAAY,aAAa;kDAwBrC,YAAY,iCAAiC,WAC7C,SAAS,GAAG,YAAY,aAAa;+CAqBrC,YAAY,8BAA8B,WAC1C,SAAS,GAAG,YAAY,aAAa;iEAsBzC,YAAY,uDAAuD,GACnE,YAAY,oDAAoD,WAC5D,SAAS,GAAG,YAAY,aAAa;+DAyCzC,YAAY,qDAAqD,GACjE,YAAY,kDAAkD,WAC1D,SAAS,GAAG,YAAY,aAAa;OAsCrC;cAII,qBAAqB,IAAI,OAAO,CAAC;QAC/C,OAAO,EAAE,MAAM,CAAC;QAChB,uBAAuB,EAAE,MAAM,CAAC;QAChC,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IAqCF;;;;;OAKG;cACa,GAAG,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,GAAG,SAAqB,EACtC,WAAW,GAAE,IAAI,CACf,OAAO,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,GAAG,KAAK,GAAG,QAAQ,CACvB;IAWR;;;;;OAKG;cACa,IAAI,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,EACjB,WAAW,GAAE,IAAI,CACf,OAAO,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,GAAG,KAAK,GAAG,MAAM,CACrB;IAWR;;;;;OAKG;cACa,MAAM,CAAC,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,EACjB,WAAW,GAAE,IAAI,CACf,OAAO,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,GAAG,KAAK,GAAG,MAAM,CACrB;IAWR;;;;;OAKG;cACa,GAAG,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,EACjB,WAAW,GAAE,IAAI,CACf,OAAO,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,GAAG,KAAK,GAAG,MAAM,CACrB;IAWR;;;;;OAKG;cACa,KAAK,CAAC,CAAC,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,EACjB,WAAW,GAAE,IAAI,CACf,OAAO,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,GAAG,KAAK,GAAG,MAAM,CACrB;IAWR;;;;;OAKG;IAEH,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,EACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,CACI;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GACjB;QACE,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAC7D,IAAI,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAC;KAClC,CACJ,EACH,yBAAyB,UAAoC;CAwBhE"}
|
|
@@ -160,7 +160,7 @@ class RestAuthenticatedClient {
|
|
|
160
160
|
* @category Constructor
|
|
161
161
|
*/
|
|
162
162
|
constructor(options) {
|
|
163
|
-
const { sandbox = false, exchangeContractAddress, chainId, bridgeAdapterContractAddress,
|
|
163
|
+
const { sandbox = false, exchangeContractAddress, chainId, bridgeAdapterContractAddress, autoCreateHmacHeader = true, } = options;
|
|
164
164
|
const baseURL = (0, _utils_1.deriveBaseURL)({
|
|
165
165
|
sandbox,
|
|
166
166
|
api: 'rest',
|
|
@@ -173,7 +173,6 @@ class RestAuthenticatedClient {
|
|
|
173
173
|
baseURL,
|
|
174
174
|
sandbox,
|
|
175
175
|
bridgeAdapterContractAddress,
|
|
176
|
-
localDepositAdapterContractAddress,
|
|
177
176
|
exchangeContractAddress,
|
|
178
177
|
chainId,
|
|
179
178
|
autoCreateHmacHeader,
|
|
@@ -343,6 +342,10 @@ class RestAuthenticatedClient {
|
|
|
343
342
|
* > - **API Key Scope:** [Trade](https://api-docs-v1-perps.katana.network/#api-keys)
|
|
344
343
|
* ---
|
|
345
344
|
*
|
|
345
|
+
* Optional `name` on the request is a client label and must be **64 characters or fewer** when provided.
|
|
346
|
+
*
|
|
347
|
+
* ---
|
|
348
|
+
*
|
|
346
349
|
* @see typedoc [Reference Documentation](https://sdk-js-docs-v1-perps.katana.network/classes/RestAuthenticatedClient.html#authorizeDelegatedKey)
|
|
347
350
|
* @see request {@link katanaperps.RestRequestAuthorizeDelegatedKeyParameters RestRequestAuthorizeDelegatedKeyParameters}
|
|
348
351
|
* @see response {@link katanaperps.RestResponseDelegatedKeyEntry RestResponseDelegatedKeyEntry}
|
|
@@ -1206,8 +1209,13 @@ class RestAuthenticatedClient {
|
|
|
1206
1209
|
signature: await signer(...(0, _signatures_1.getSetVaultDetailsSignatureTypedData)(params, exchangeContractAddress, chainId, this.#config.sandbox)),
|
|
1207
1210
|
});
|
|
1208
1211
|
},
|
|
1209
|
-
removeVaultXConnection: async (params) => {
|
|
1210
|
-
|
|
1212
|
+
removeVaultXConnection: async (params, signer = this.#signer) => {
|
|
1213
|
+
ensureSigner(signer);
|
|
1214
|
+
const { chainId, exchangeContractAddress } = await this.getContractAndChainId();
|
|
1215
|
+
await this.delete('/internal/vaults/xconnection', {
|
|
1216
|
+
parameters: params,
|
|
1217
|
+
signature: await signer(...(0, _signatures_1.getRemoveVaultXConnectionSignatureTypedData)(params, exchangeContractAddress, chainId, this.#config.sandbox)),
|
|
1218
|
+
});
|
|
1211
1219
|
},
|
|
1212
1220
|
setVaultXConnection: async (params, signer = this.#signer) => {
|
|
1213
1221
|
ensureSigner(signer);
|
|
@@ -1258,11 +1266,8 @@ class RestAuthenticatedClient {
|
|
|
1258
1266
|
});
|
|
1259
1267
|
// Internal methods exposed for advanced usage
|
|
1260
1268
|
async getContractAndChainId() {
|
|
1261
|
-
let { chainId, exchangeContractAddress, bridgeAdapterContractAddress
|
|
1262
|
-
if (!chainId ||
|
|
1263
|
-
!exchangeContractAddress ||
|
|
1264
|
-
!bridgeAdapterContractAddress ||
|
|
1265
|
-
!localDepositAdapterContractAddress) {
|
|
1269
|
+
let { chainId, exchangeContractAddress, bridgeAdapterContractAddress } = this.#config;
|
|
1270
|
+
if (!chainId || !exchangeContractAddress || !bridgeAdapterContractAddress) {
|
|
1266
1271
|
if (!this.#exchange) {
|
|
1267
1272
|
this.#exchange = await this.public.getExchange();
|
|
1268
1273
|
}
|
|
@@ -1277,22 +1282,14 @@ class RestAuthenticatedClient {
|
|
|
1277
1282
|
this.#exchange.bridgeAdapters.stargateBridgeAdapterV1KatanaContractAddress;
|
|
1278
1283
|
bridgeAdapterContractAddress ??=
|
|
1279
1284
|
this.#config.bridgeAdapterContractAddress;
|
|
1280
|
-
this.#config.localDepositAdapterContractAddress ??=
|
|
1281
|
-
this.#exchange.bridgeAdapters.localDepositAdapterV1KatanaContractAddress;
|
|
1282
|
-
localDepositAdapterContractAddress ??=
|
|
1283
|
-
this.#config.localDepositAdapterContractAddress;
|
|
1284
1285
|
}
|
|
1285
|
-
if (!chainId ||
|
|
1286
|
-
|
|
1287
|
-
!bridgeAdapterContractAddress ||
|
|
1288
|
-
!localDepositAdapterContractAddress) {
|
|
1289
|
-
throw new Error(`Could not determine chainId (${typeof chainId}) or exchangeContractAddress (${typeof exchangeContractAddress}) or bridgeAdapterContractAddress (${typeof bridgeAdapterContractAddress} or localDepositAdapterContractAddress (${typeof localDepositAdapterContractAddress})`);
|
|
1286
|
+
if (!chainId || !exchangeContractAddress || !bridgeAdapterContractAddress) {
|
|
1287
|
+
throw new Error(`Could not determine chainId (${typeof chainId}) or exchangeContractAddress (${typeof exchangeContractAddress}) or bridgeAdapterContractAddress (${typeof bridgeAdapterContractAddress})`);
|
|
1290
1288
|
}
|
|
1291
1289
|
return {
|
|
1292
1290
|
chainId,
|
|
1293
1291
|
exchangeContractAddress,
|
|
1294
1292
|
bridgeAdapterContractAddress,
|
|
1295
|
-
localDepositAdapterContractAddress,
|
|
1296
1293
|
};
|
|
1297
1294
|
}
|
|
1298
1295
|
/**
|
|
@@ -14,12 +14,12 @@ export type LoadVaultDepositorsResultStructOutput = [
|
|
|
14
14
|
initialDepositTimestampInS: bigint;
|
|
15
15
|
owedQuantity: bigint;
|
|
16
16
|
};
|
|
17
|
-
export type
|
|
17
|
+
export type LoadVaultWithdrawalQueueResultStruct = {
|
|
18
18
|
nonce: BigNumberish;
|
|
19
19
|
depositorWallet: AddressLike;
|
|
20
20
|
grossQuantity: BigNumberish;
|
|
21
21
|
};
|
|
22
|
-
export type
|
|
22
|
+
export type LoadVaultWithdrawalQueueResultStructOutput = [
|
|
23
23
|
nonce: bigint,
|
|
24
24
|
depositorWallet: string,
|
|
25
25
|
grossQuantity: bigint
|
|
@@ -63,18 +63,18 @@ export declare namespace FixedIncomeVaultProvider_v1 {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
export interface FixedIncomeVaultProviderStateAggregator_v1Interface extends Interface {
|
|
66
|
-
getFunction(nameOrSignature: 'fixedIncomeVaultProvider' | '
|
|
66
|
+
getFunction(nameOrSignature: 'fixedIncomeVaultProvider' | 'loadVaultConfigurations' | 'loadVaultDepositorsByDepositorWallet' | 'loadVaultDepositorsByManagerWallet' | 'loadVaultDeposits' | 'loadVaultWithdrawalQueue'): FunctionFragment;
|
|
67
67
|
encodeFunctionData(functionFragment: 'fixedIncomeVaultProvider', values?: undefined): string;
|
|
68
|
-
encodeFunctionData(functionFragment: 'loadTotalQuantitiesOwedByVaults', values: [AddressLike[]]): string;
|
|
69
68
|
encodeFunctionData(functionFragment: 'loadVaultConfigurations', values: [AddressLike]): string;
|
|
70
69
|
encodeFunctionData(functionFragment: 'loadVaultDepositorsByDepositorWallet', values: [AddressLike[], AddressLike]): string;
|
|
71
70
|
encodeFunctionData(functionFragment: 'loadVaultDepositorsByManagerWallet', values: [AddressLike, AddressLike[]]): string;
|
|
71
|
+
encodeFunctionData(functionFragment: 'loadVaultDeposits', values: [AddressLike[]]): string;
|
|
72
72
|
encodeFunctionData(functionFragment: 'loadVaultWithdrawalQueue', values: [AddressLike]): string;
|
|
73
73
|
decodeFunctionResult(functionFragment: 'fixedIncomeVaultProvider', data: BytesLike): Result;
|
|
74
|
-
decodeFunctionResult(functionFragment: 'loadTotalQuantitiesOwedByVaults', data: BytesLike): Result;
|
|
75
74
|
decodeFunctionResult(functionFragment: 'loadVaultConfigurations', data: BytesLike): Result;
|
|
76
75
|
decodeFunctionResult(functionFragment: 'loadVaultDepositorsByDepositorWallet', data: BytesLike): Result;
|
|
77
76
|
decodeFunctionResult(functionFragment: 'loadVaultDepositorsByManagerWallet', data: BytesLike): Result;
|
|
77
|
+
decodeFunctionResult(functionFragment: 'loadVaultDeposits', data: BytesLike): Result;
|
|
78
78
|
decodeFunctionResult(functionFragment: 'loadVaultWithdrawalQueue', data: BytesLike): Result;
|
|
79
79
|
}
|
|
80
80
|
export interface FixedIncomeVaultProviderStateAggregator_v1 extends BaseContract {
|
|
@@ -91,11 +91,6 @@ export interface FixedIncomeVaultProviderStateAggregator_v1 extends BaseContract
|
|
|
91
91
|
listeners(eventName?: string): Promise<Array<Listener>>;
|
|
92
92
|
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
|
|
93
93
|
fixedIncomeVaultProvider: TypedContractMethod<[], [string], 'view'>;
|
|
94
|
-
loadTotalQuantitiesOwedByVaults: TypedContractMethod<[
|
|
95
|
-
managerWallets: AddressLike[]
|
|
96
|
-
], [
|
|
97
|
-
bigint[]
|
|
98
|
-
], 'view'>;
|
|
99
94
|
loadVaultConfigurations: TypedContractMethod<[
|
|
100
95
|
managerWallet: AddressLike
|
|
101
96
|
], [
|
|
@@ -113,14 +108,18 @@ export interface FixedIncomeVaultProviderStateAggregator_v1 extends BaseContract
|
|
|
113
108
|
], [
|
|
114
109
|
LoadVaultDepositorsResultStructOutput[]
|
|
115
110
|
], 'view'>;
|
|
111
|
+
loadVaultDeposits: TypedContractMethod<[
|
|
112
|
+
managerWallets: AddressLike[]
|
|
113
|
+
], [
|
|
114
|
+
bigint[]
|
|
115
|
+
], 'view'>;
|
|
116
116
|
loadVaultWithdrawalQueue: TypedContractMethod<[
|
|
117
117
|
managerWallet: AddressLike
|
|
118
118
|
], [
|
|
119
|
-
|
|
119
|
+
LoadVaultWithdrawalQueueResultStructOutput[]
|
|
120
120
|
], 'view'>;
|
|
121
121
|
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
|
|
122
122
|
getFunction(nameOrSignature: 'fixedIncomeVaultProvider'): TypedContractMethod<[], [string], 'view'>;
|
|
123
|
-
getFunction(nameOrSignature: 'loadTotalQuantitiesOwedByVaults'): TypedContractMethod<[managerWallets: AddressLike[]], [bigint[]], 'view'>;
|
|
124
123
|
getFunction(nameOrSignature: 'loadVaultConfigurations'): TypedContractMethod<[
|
|
125
124
|
managerWallet: AddressLike
|
|
126
125
|
], [
|
|
@@ -138,10 +137,11 @@ export interface FixedIncomeVaultProviderStateAggregator_v1 extends BaseContract
|
|
|
138
137
|
], [
|
|
139
138
|
LoadVaultDepositorsResultStructOutput[]
|
|
140
139
|
], 'view'>;
|
|
140
|
+
getFunction(nameOrSignature: 'loadVaultDeposits'): TypedContractMethod<[managerWallets: AddressLike[]], [bigint[]], 'view'>;
|
|
141
141
|
getFunction(nameOrSignature: 'loadVaultWithdrawalQueue'): TypedContractMethod<[
|
|
142
142
|
managerWallet: AddressLike
|
|
143
143
|
], [
|
|
144
|
-
|
|
144
|
+
LoadVaultWithdrawalQueueResultStructOutput[]
|
|
145
145
|
], 'view'>;
|
|
146
146
|
filters: {};
|
|
147
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FixedIncomeVaultProviderStateAggregator_v1.d.ts","sourceRoot":"","sources":["../../src/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,cAAc,EACd,cAAc,EACd,QAAQ,EACT,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,EAAE,YAAY,CAAC;IACxB,0BAA0B,EAAE,YAAY,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,SAAS,EAAE,MAAM;IACjB,0BAA0B,EAAE,MAAM;IAClC,YAAY,EAAE,MAAM;CACrB,GAAG;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"FixedIncomeVaultProviderStateAggregator_v1.d.ts","sourceRoot":"","sources":["../../src/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.ts"],"names":[],"mappings":"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"}
|