@invisible-labs/sdk 0.6.0-devnet.1 → 0.6.0-devnet.3
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 +141 -173
- package/dist/{chunk-TQNNTV5F.js → chunk-4X5OCCQW.js} +3 -3
- package/dist/{chunk-TQNNTV5F.js.map → chunk-4X5OCCQW.js.map} +1 -1
- package/dist/{chunk-7DSVN3MV.js → chunk-BWCGNTN5.js} +13 -5
- package/dist/chunk-BWCGNTN5.js.map +1 -0
- package/dist/{chunk-NCY4FCYU.js → chunk-DIA6U2CV.js} +19 -3
- package/dist/chunk-DIA6U2CV.js.map +1 -0
- package/dist/{chunk-OHIM2YWU.js → chunk-GHBQF3A7.js} +2 -2
- package/dist/chunk-GHBQF3A7.js.map +1 -0
- package/dist/{chunk-SZAYO2L5.js → chunk-NHEHCUS5.js} +3 -3
- package/dist/{chunk-SZAYO2L5.js.map → chunk-NHEHCUS5.js.map} +1 -1
- package/dist/{chunk-LBC7ALYO.js → chunk-NKRVQXRP.js} +58 -3
- package/dist/chunk-NKRVQXRP.js.map +1 -0
- package/dist/{chunk-XUWBGET5.js → chunk-QQSI3ZD7.js} +23 -7
- package/dist/chunk-QQSI3ZD7.js.map +1 -0
- package/dist/{chunk-JRMKCE3S.js → chunk-V5HXJRBW.js} +3 -3
- package/dist/{chunk-JRMKCE3S.js.map → chunk-V5HXJRBW.js.map} +1 -1
- package/dist/{coordinator-7Y45MCCZ.js → coordinator-VVJ33WF2.js} +3 -3
- package/dist/{coordinator-7Y45MCCZ.js.map → coordinator-VVJ33WF2.js.map} +1 -1
- package/dist/{createSession-D3ym-Ira.d.ts → errors-N2touVm4.d.ts} +2 -54
- package/dist/events.js +3 -3
- package/dist/index.d.ts +60 -4
- package/dist/index.js +7 -7
- package/dist/lp.d.ts +8 -1
- package/dist/lp.js +109 -22
- package/dist/lp.js.map +1 -1
- package/dist/presets.d.ts +3 -3
- package/dist/presets.js +13 -6
- package/dist/presets.js.map +1 -1
- package/dist/stats.js +1 -1
- package/dist/storage.js +1 -1
- package/dist/{types.generated-CHGSbmLp.d.ts → types.generated-BSEBz4jR.d.ts} +1 -0
- package/dist/user.d.ts +26 -143
- package/dist/user.js +42 -30
- package/dist/user.js.map +1 -1
- package/package.json +8 -5
- package/dist/chunk-7DSVN3MV.js.map +0 -1
- package/dist/chunk-LBC7ALYO.js.map +0 -1
- package/dist/chunk-NCY4FCYU.js.map +0 -1
- package/dist/chunk-OHIM2YWU.js.map +0 -1
- package/dist/chunk-XUWBGET5.js.map +0 -1
package/dist/lp.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isValidLpPositionId, LP_DEFAULT_REFILL_BATCH_SIZE, LP_DEFAULT_TARGET_SHARDS, LP_MAX_TARGET_SHARDS, LP_MAX_REFILL_BATCH_SIZE } from './chunk-
|
|
2
|
-
import { publicKey, assertAttested, lamports } from './chunk-
|
|
3
|
-
import { requestEnvelope } from './chunk-
|
|
4
|
-
import { getSessionState } from './chunk-
|
|
5
|
-
import { CommandError, PolicyValidationError, RoutingError, LpLifecycleError } from './chunk-
|
|
1
|
+
import { isValidLpPositionId, LP_DEFAULT_REFILL_BATCH_SIZE, LP_DEFAULT_TARGET_SHARDS, LP_MAX_TARGET_SHARDS, LP_MAX_REFILL_BATCH_SIZE } from './chunk-4X5OCCQW.js';
|
|
2
|
+
import { publicKey, assertAttested, lamports } from './chunk-NHEHCUS5.js';
|
|
3
|
+
import { requestEnvelope } from './chunk-QQSI3ZD7.js';
|
|
4
|
+
import { getSessionState } from './chunk-V5HXJRBW.js';
|
|
5
|
+
import { CommandError, PolicyValidationError, RoutingError, LpLifecycleError } from './chunk-GHBQF3A7.js';
|
|
6
6
|
import './chunk-VR6T6OJS.js';
|
|
7
7
|
|
|
8
8
|
// src/lp/positionCode.ts
|
|
@@ -225,6 +225,7 @@ function validateDestinationAddresses(destinationAddresses) {
|
|
|
225
225
|
// src/lp/coordinatorClient.ts
|
|
226
226
|
var COMMAND_TTL_MS = 3e4;
|
|
227
227
|
var LP_COMMAND_REQUEST_TIMEOUT_MS = 12e4;
|
|
228
|
+
var LP_DKG_ABORT_REQUEST_TIMEOUT_MS = 1e4;
|
|
228
229
|
var encoder2 = new TextEncoder();
|
|
229
230
|
var protocolPromise = null;
|
|
230
231
|
function createLpCoordinatorClient(session) {
|
|
@@ -232,6 +233,9 @@ function createLpCoordinatorClient(session) {
|
|
|
232
233
|
initDkg(input, auth) {
|
|
233
234
|
return initDkg(session, input, auth);
|
|
234
235
|
},
|
|
236
|
+
abortDkgSessions(lpPositionId, auth) {
|
|
237
|
+
return abortDkgSessions(session, lpPositionId, auth);
|
|
238
|
+
},
|
|
235
239
|
dkgRound1(input, auth) {
|
|
236
240
|
return dkgRound1(session, input, auth);
|
|
237
241
|
},
|
|
@@ -281,6 +285,21 @@ async function initDkg(session, input, auth) {
|
|
|
281
285
|
if (response.case !== "dkgInit") throw new Error("Unexpected LP DKG init response");
|
|
282
286
|
return { sessionId: response.value.session_id };
|
|
283
287
|
}
|
|
288
|
+
async function abortDkgSessions(session, lpPositionId, auth) {
|
|
289
|
+
const response = await requestForPosition(
|
|
290
|
+
session,
|
|
291
|
+
lpPositionId,
|
|
292
|
+
auth,
|
|
293
|
+
"dkg_abort",
|
|
294
|
+
{
|
|
295
|
+
case: "dkgAbort",
|
|
296
|
+
value: {}
|
|
297
|
+
},
|
|
298
|
+
LP_DKG_ABORT_REQUEST_TIMEOUT_MS
|
|
299
|
+
);
|
|
300
|
+
if (response.case !== "dkgAbort") throw new Error("Unexpected LP DKG abort response");
|
|
301
|
+
return { abortedSessionCount: response.value.aborted_session_count };
|
|
302
|
+
}
|
|
284
303
|
async function dkgRound1(session, input, auth) {
|
|
285
304
|
const response = await request(session, auth, "dkg_round1", {
|
|
286
305
|
case: "dkgRound1",
|
|
@@ -466,7 +485,7 @@ async function executeWithdrawal(session, input, auth) {
|
|
|
466
485
|
function request(session, auth, action, payload) {
|
|
467
486
|
return requestForPosition(session, auth.lpPositionId, auth, action, payload);
|
|
468
487
|
}
|
|
469
|
-
async function requestForPosition(session, lpPositionId, auth, action, payload) {
|
|
488
|
+
async function requestForPosition(session, lpPositionId, auth, action, payload, timeoutMs = LP_COMMAND_REQUEST_TIMEOUT_MS) {
|
|
470
489
|
assertAuthMatchesPosition(lpPositionId, auth);
|
|
471
490
|
const protocol = await loadProtocol();
|
|
472
491
|
const state = getSessionState(session);
|
|
@@ -476,7 +495,7 @@ async function requestForPosition(session, lpPositionId, auth, action, payload)
|
|
|
476
495
|
lp_position_id: lpPositionId,
|
|
477
496
|
action,
|
|
478
497
|
nonce: randomBytes(32),
|
|
479
|
-
expires_at_ms: Date.now() + COMMAND_TTL_MS,
|
|
498
|
+
expires_at_ms: Date.now() + Math.min(COMMAND_TTL_MS, timeoutMs),
|
|
480
499
|
coordinator_attestation_hash: await coordinatorAttestationHash(
|
|
481
500
|
attestation.binaryHash,
|
|
482
501
|
attestation.pubkeyHex
|
|
@@ -486,7 +505,7 @@ async function requestForPosition(session, lpPositionId, auth, action, payload)
|
|
|
486
505
|
const signature = await signLpCommandBytes(auth, protocol.encodeLpCommandForSigning(command));
|
|
487
506
|
const { type, payload: envelopePayload } = protocol.lpSignedCommandEnvelope(command, signature);
|
|
488
507
|
const envelope = await requestEnvelope(session, type, envelopePayload, {
|
|
489
|
-
timeoutMs
|
|
508
|
+
timeoutMs
|
|
490
509
|
});
|
|
491
510
|
return protocol.asLpCommandResponsePayload(envelope);
|
|
492
511
|
}
|
|
@@ -666,13 +685,17 @@ function randomBytes(length) {
|
|
|
666
685
|
return bytes;
|
|
667
686
|
}
|
|
668
687
|
function loadProtocol() {
|
|
669
|
-
protocolPromise ??= import('./coordinator-
|
|
688
|
+
protocolPromise ??= import('./coordinator-VVJ33WF2.js');
|
|
670
689
|
return protocolPromise;
|
|
671
690
|
}
|
|
672
691
|
|
|
673
692
|
// src/lp/dkgBatch.ts
|
|
674
693
|
var MAX_LP_DKG_CONCURRENCY = 8;
|
|
675
694
|
var DEFAULT_LP_DKG_CONCURRENCY = MAX_LP_DKG_CONCURRENCY;
|
|
695
|
+
var LP_DKG_WORKER_REQUEST_TIMEOUT_MS = 3e4;
|
|
696
|
+
var LP_DKG_WORKER_REQUEST_TIMEOUT_MESSAGE = "LP DKG worker request timed out";
|
|
697
|
+
var LP_DKG_ABORT_CLEANUP_TIMEOUT_MS = 1e4;
|
|
698
|
+
var LP_DKG_ABORT_CLEANUP_TIMEOUT_MESSAGE = "LP DKG session cleanup timed out";
|
|
676
699
|
var LP_DKG_COMPLETED_SHARD_POLL_INTERVAL_MS = 500;
|
|
677
700
|
var LP_DKG_COMPLETED_SHARD_POLL_TIMEOUT_MS = 5 * 6e4 + 15e3;
|
|
678
701
|
var LP_DKG_ACTIVE_SESSION_RETRY_INTERVAL_MS = 2e3;
|
|
@@ -693,11 +716,20 @@ async function createLpDkgBatch(input) {
|
|
|
693
716
|
return addresses2;
|
|
694
717
|
}
|
|
695
718
|
const workerCount = resolveConcurrency(input.count, input.concurrency);
|
|
696
|
-
const workers =
|
|
719
|
+
const workers = [];
|
|
720
|
+
let workersTerminated = false;
|
|
721
|
+
const terminateWorkers = () => {
|
|
722
|
+
if (workersTerminated) return;
|
|
723
|
+
workersTerminated = true;
|
|
724
|
+
workers.forEach((worker) => worker.terminate());
|
|
725
|
+
};
|
|
697
726
|
const addresses = new Array(input.count);
|
|
698
727
|
let completed = 0;
|
|
699
728
|
let nextOffset = 0;
|
|
700
729
|
try {
|
|
730
|
+
for (let index = 0; index < workerCount; index += 1) {
|
|
731
|
+
workers.push(createWorker(input.workerFactory));
|
|
732
|
+
}
|
|
701
733
|
await Promise.all(
|
|
702
734
|
workers.map(async (worker) => {
|
|
703
735
|
for (; ; ) {
|
|
@@ -717,8 +749,34 @@ async function createLpDkgBatch(input) {
|
|
|
717
749
|
})
|
|
718
750
|
);
|
|
719
751
|
return addresses;
|
|
752
|
+
} catch (error) {
|
|
753
|
+
terminateWorkers();
|
|
754
|
+
if (!isLpDkgSessionCoordinationError(error)) {
|
|
755
|
+
await abortDkgSessionsAfterFailure(input);
|
|
756
|
+
}
|
|
757
|
+
throw error;
|
|
720
758
|
} finally {
|
|
721
|
-
|
|
759
|
+
terminateWorkers();
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
async function abortDkgSessionsAfterFailure(input) {
|
|
763
|
+
const abortDkgSessions2 = input.client.abortDkgSessions;
|
|
764
|
+
if (typeof abortDkgSessions2 !== "function") return;
|
|
765
|
+
let timeoutId;
|
|
766
|
+
try {
|
|
767
|
+
const cleanupTimeout = new Promise((_, reject) => {
|
|
768
|
+
timeoutId = globalThis.setTimeout(
|
|
769
|
+
() => reject(new Error(LP_DKG_ABORT_CLEANUP_TIMEOUT_MESSAGE)),
|
|
770
|
+
LP_DKG_ABORT_CLEANUP_TIMEOUT_MS
|
|
771
|
+
);
|
|
772
|
+
});
|
|
773
|
+
await Promise.race([
|
|
774
|
+
abortDkgSessions2.call(input.client, input.lpPositionId, input.auth),
|
|
775
|
+
cleanupTimeout
|
|
776
|
+
]);
|
|
777
|
+
} catch {
|
|
778
|
+
} finally {
|
|
779
|
+
if (timeoutId !== void 0) globalThis.clearTimeout(timeoutId);
|
|
722
780
|
}
|
|
723
781
|
}
|
|
724
782
|
async function createLpDkgShard(input, worker, index) {
|
|
@@ -802,6 +860,7 @@ async function getCompletedShardAddress(input, index) {
|
|
|
802
860
|
}
|
|
803
861
|
function workerRequest(worker, request2) {
|
|
804
862
|
return new Promise((resolve, reject) => {
|
|
863
|
+
let timeoutId;
|
|
805
864
|
const onMessage = (event) => {
|
|
806
865
|
const message = event.data;
|
|
807
866
|
if (message.id !== request2.id) return;
|
|
@@ -817,12 +876,22 @@ function workerRequest(worker, request2) {
|
|
|
817
876
|
reject(new Error(event.message));
|
|
818
877
|
};
|
|
819
878
|
const cleanup = () => {
|
|
879
|
+
if (timeoutId !== void 0) globalThis.clearTimeout(timeoutId);
|
|
820
880
|
worker.removeEventListener("message", onMessage);
|
|
821
881
|
worker.removeEventListener("error", onError);
|
|
822
882
|
};
|
|
823
883
|
worker.addEventListener("message", onMessage);
|
|
824
884
|
worker.addEventListener("error", onError);
|
|
825
|
-
|
|
885
|
+
timeoutId = globalThis.setTimeout(() => {
|
|
886
|
+
cleanup();
|
|
887
|
+
reject(new Error(LP_DKG_WORKER_REQUEST_TIMEOUT_MESSAGE));
|
|
888
|
+
}, LP_DKG_WORKER_REQUEST_TIMEOUT_MS);
|
|
889
|
+
try {
|
|
890
|
+
worker.postMessage(request2);
|
|
891
|
+
} catch (error) {
|
|
892
|
+
cleanup();
|
|
893
|
+
reject(error instanceof Error ? error : new Error(String(error)));
|
|
894
|
+
}
|
|
826
895
|
});
|
|
827
896
|
}
|
|
828
897
|
function createWorker(workerFactory) {
|
|
@@ -844,6 +913,13 @@ function isLpDkgCompletedOrVisibleError(error) {
|
|
|
844
913
|
function isLpDkgActiveSessionError(error) {
|
|
845
914
|
return error instanceof Error && error.message.includes("LP DKG session already active for position index");
|
|
846
915
|
}
|
|
916
|
+
function isLpDkgIndexDriftError(error) {
|
|
917
|
+
if (!(error instanceof Error)) return false;
|
|
918
|
+
return error.message.includes("LP DKG index") && error.message.includes("already exists for position") || error.message.includes("LP DKG expected index");
|
|
919
|
+
}
|
|
920
|
+
function isLpDkgSessionCoordinationError(error) {
|
|
921
|
+
return isLpDkgActiveSessionError(error) || isLpDkgIndexDriftError(error);
|
|
922
|
+
}
|
|
847
923
|
function resolveConcurrency(count, requested) {
|
|
848
924
|
if (count <= 0) return 0;
|
|
849
925
|
const concurrency = requested ?? DEFAULT_LP_DKG_CONCURRENCY;
|
|
@@ -867,6 +943,8 @@ var LP_DKG_ACTIVE_SESSION_RETRY_DELAY_MS = 2e3;
|
|
|
867
943
|
var LP_DKG_ACTIVE_SESSION_RETRY_TIMEOUT_MS2 = 5 * 6e4 + 15e3;
|
|
868
944
|
var LP_WITHDRAWAL_CONFIRMATION_POLL_INTERVAL_MS = 3e3;
|
|
869
945
|
var LP_WITHDRAWAL_CONFIRMATION_TIMEOUT_MS = 15 * 6e4;
|
|
946
|
+
var LP_WITHDRAWAL_READINESS_RETRY_DELAY_MS = 1e3;
|
|
947
|
+
var LP_WITHDRAWAL_READINESS_RETRY_ATTEMPTS = 30;
|
|
870
948
|
var LP_TOP_UP_WAIT_POLL_INTERVAL_MS = 1e3;
|
|
871
949
|
var LP_REDEMPTION_HISTORY_OPEN_STATES = /* @__PURE__ */ new Set([
|
|
872
950
|
"requested",
|
|
@@ -882,6 +960,7 @@ var WITHDRAWAL_MISSING_RECORD_MESSAGE = "LP withdrawal record is missing";
|
|
|
882
960
|
var WITHDRAWAL_RECORD_MISMATCH_MESSAGE = "LP withdrawal record does not match this confirmation request";
|
|
883
961
|
var WITHDRAWAL_NO_LAMPORTS_MESSAGE = "LP redemption did not land any lamports on-chain";
|
|
884
962
|
var WITHDRAWAL_HISTORY_MISMATCH_MESSAGE = "LP redemption history does not match this request";
|
|
963
|
+
var LP_WITHDRAWAL_UNRESOLVED_FUNDING_MESSAGE = "LP position has unresolved funding shards before redemption";
|
|
885
964
|
var UNSUPPORTED_FEE_POLICY_MESSAGE = "LP fee policy overrides are not advertised by the coordinator";
|
|
886
965
|
var FEE_SOURCE_COUNT_UNAVAILABLE_MESSAGE = "LP earned-fee source count is not available; pass allowManyToOne: true to acknowledge many-to-one withdrawal risk";
|
|
887
966
|
var LpRedemptionReconcilingError = class extends LpLifecycleError {
|
|
@@ -931,6 +1010,20 @@ function createLpLifecycleClient(session, runtime = {}) {
|
|
|
931
1010
|
const auth = requireAuth(positionId);
|
|
932
1011
|
return rememberPosition(await client.getPosition(positionId, auth));
|
|
933
1012
|
};
|
|
1013
|
+
const executeWithdrawalAfterFundingReadiness = async (positionId, input, auth) => {
|
|
1014
|
+
for (let attempt = 0; ; attempt += 1) {
|
|
1015
|
+
try {
|
|
1016
|
+
return await client.executeWithdrawal(input, auth);
|
|
1017
|
+
} catch (error) {
|
|
1018
|
+
const retryable = error instanceof CommandError && error.message.includes(LP_WITHDRAWAL_UNRESOLVED_FUNDING_MESSAGE);
|
|
1019
|
+
if (!retryable || attempt >= LP_WITHDRAWAL_READINESS_RETRY_ATTEMPTS - 1) {
|
|
1020
|
+
throw error;
|
|
1021
|
+
}
|
|
1022
|
+
await sleep2(LP_WITHDRAWAL_READINESS_RETRY_DELAY_MS);
|
|
1023
|
+
await client.reconcileFunding(positionId, auth).catch(() => void 0);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
};
|
|
934
1027
|
const completeDkgBatch2 = async (positionId, options = {}) => {
|
|
935
1028
|
assertAttested(session);
|
|
936
1029
|
const auth = requireAuth(positionId);
|
|
@@ -985,7 +1078,7 @@ function createLpLifecycleClient(session, runtime = {}) {
|
|
|
985
1078
|
activeSessionRetryStartedAtMs = null;
|
|
986
1079
|
continue;
|
|
987
1080
|
}
|
|
988
|
-
if (!
|
|
1081
|
+
if (!isLpDkgActiveSessionError(error)) throw error;
|
|
989
1082
|
const currentTime = nowMs();
|
|
990
1083
|
activeSessionRetryStartedAtMs ??= currentTime;
|
|
991
1084
|
if (currentTime - activeSessionRetryStartedAtMs >= LP_DKG_ACTIVE_SESSION_RETRY_TIMEOUT_MS2) {
|
|
@@ -1198,7 +1291,8 @@ function createLpLifecycleClient(session, runtime = {}) {
|
|
|
1198
1291
|
sourceCount
|
|
1199
1292
|
};
|
|
1200
1293
|
validateLpWithdrawalPlan(validationInput);
|
|
1201
|
-
const execution = await
|
|
1294
|
+
const execution = await executeWithdrawalAfterFundingReadiness(
|
|
1295
|
+
positionId,
|
|
1202
1296
|
{
|
|
1203
1297
|
lpPositionId: validationInput.lpPositionId,
|
|
1204
1298
|
destinationAddresses: validationInput.destinationAddresses,
|
|
@@ -1617,13 +1711,6 @@ function sameStringList(left, right) {
|
|
|
1617
1711
|
function uniqueStrings(values) {
|
|
1618
1712
|
return Array.from(new Set(values));
|
|
1619
1713
|
}
|
|
1620
|
-
function isLpDkgActiveSessionError2(error) {
|
|
1621
|
-
return error instanceof Error && error.message.includes("LP DKG session already active for position index");
|
|
1622
|
-
}
|
|
1623
|
-
function isLpDkgIndexDriftError(error) {
|
|
1624
|
-
if (!(error instanceof Error)) return false;
|
|
1625
|
-
return error.message.includes("LP DKG index") && error.message.includes("already exists for position") || error.message.includes("LP DKG expected index");
|
|
1626
|
-
}
|
|
1627
1714
|
function clonePosition(position) {
|
|
1628
1715
|
return {
|
|
1629
1716
|
...position,
|
|
@@ -1706,6 +1793,6 @@ function listPositions(session) {
|
|
|
1706
1793
|
return defaultLpLifecycleClient(session).listPositions();
|
|
1707
1794
|
}
|
|
1708
1795
|
|
|
1709
|
-
export { LP_COMMAND_REQUEST_TIMEOUT_MS, LP_MISSING_POSITION_CODE_MESSAGE, LP_REDEMPTION_RECONCILING_MESSAGE, bytesToHex, completeDkgBatch, confirmPositionCodeSaved, createLpCoordinatorClient, createLpDkgBatch, createLpLifecycleClient, createPosition, defaultLpLifecycleClient, deriveLpPositionCodeAuth, generateLpPositionCode, isLpPositionAuthMissingError, isLpRedemptionReconcilingError, listPositions, normalizeLpPositionCode, prepareInitialFunding, prepareTopUp2 as prepareTopUp, reconcileFunding2 as reconcileFunding, recoverPosition, refill, refreshPosition, signLpCommandBytes, waitForTopUp, waitForWithdrawalConfirmation, withdrawFees, withdrawPosition };
|
|
1796
|
+
export { LP_COMMAND_REQUEST_TIMEOUT_MS, LP_DKG_ABORT_CLEANUP_TIMEOUT_MS, LP_DKG_ABORT_REQUEST_TIMEOUT_MS, LP_DKG_WORKER_REQUEST_TIMEOUT_MESSAGE, LP_DKG_WORKER_REQUEST_TIMEOUT_MS, LP_MISSING_POSITION_CODE_MESSAGE, LP_REDEMPTION_RECONCILING_MESSAGE, bytesToHex, completeDkgBatch, confirmPositionCodeSaved, createLpCoordinatorClient, createLpDkgBatch, createLpLifecycleClient, createPosition, defaultLpLifecycleClient, deriveLpPositionCodeAuth, generateLpPositionCode, isLpPositionAuthMissingError, isLpRedemptionReconcilingError, listPositions, normalizeLpPositionCode, prepareInitialFunding, prepareTopUp2 as prepareTopUp, reconcileFunding2 as reconcileFunding, recoverPosition, refill, refreshPosition, signLpCommandBytes, waitForTopUp, waitForWithdrawalConfirmation, withdrawFees, withdrawPosition };
|
|
1710
1797
|
//# sourceMappingURL=lp.js.map
|
|
1711
1798
|
//# sourceMappingURL=lp.js.map
|