@stellar/stellar-sdk 14.1.1 → 14.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +14 -20
- package/dist/stellar-sdk-minimal.js +532 -375
- package/dist/stellar-sdk-minimal.min.js +1 -1
- package/dist/stellar-sdk-no-axios.js +532 -375
- package/dist/stellar-sdk-no-axios.min.js +1 -1
- package/dist/stellar-sdk-no-eventsource.js +781 -551
- package/dist/stellar-sdk-no-eventsource.min.js +1 -1
- package/dist/stellar-sdk.js +781 -551
- package/dist/stellar-sdk.min.js +1 -1
- package/lib/contract/client.js +2 -2
- package/lib/contract/spec.js +10 -2
- package/lib/contract/utils.js +7 -7
- package/lib/errors/account_requires_memo.d.ts +0 -1
- package/lib/errors/account_requires_memo.js +0 -4
- package/lib/errors/bad_request.d.ts +0 -1
- package/lib/errors/bad_request.js +2 -8
- package/lib/errors/bad_response.d.ts +0 -1
- package/lib/errors/bad_response.js +2 -8
- package/lib/errors/network.d.ts +0 -1
- package/lib/errors/network.js +0 -3
- package/lib/errors/not_found.d.ts +0 -1
- package/lib/errors/not_found.js +2 -8
- package/lib/federation/index.d.ts +2 -2
- package/lib/horizon/call_builder.js +1 -1
- package/lib/horizon/horizon_api.js +0 -1
- package/lib/horizon/horizon_axios_client.js +4 -4
- package/lib/horizon/index.d.ts +1 -1
- package/lib/horizon/types/effects.d.ts +41 -41
- package/lib/horizon/types/trade.d.ts +1 -1
- package/lib/http-client/fetch-client.d.ts +2 -2
- package/lib/http-client/fetch-client.js +16 -16
- package/lib/http-client/index.js +2 -2
- package/lib/http-client/types.d.ts +2 -2
- package/lib/index.d.ts +11 -11
- package/lib/index.js +2 -2
- package/lib/minimal/contract/client.js +2 -2
- package/lib/minimal/contract/spec.js +10 -2
- package/lib/minimal/contract/utils.js +7 -7
- package/lib/minimal/errors/account_requires_memo.d.ts +0 -1
- package/lib/minimal/errors/account_requires_memo.js +0 -4
- package/lib/minimal/errors/bad_request.d.ts +0 -1
- package/lib/minimal/errors/bad_request.js +2 -8
- package/lib/minimal/errors/bad_response.d.ts +0 -1
- package/lib/minimal/errors/bad_response.js +2 -8
- package/lib/minimal/errors/network.d.ts +0 -1
- package/lib/minimal/errors/network.js +0 -3
- package/lib/minimal/errors/not_found.d.ts +0 -1
- package/lib/minimal/errors/not_found.js +2 -8
- package/lib/minimal/federation/index.d.ts +2 -2
- package/lib/minimal/horizon/call_builder.js +1 -1
- package/lib/minimal/horizon/horizon_api.js +0 -1
- package/lib/minimal/horizon/horizon_axios_client.js +4 -4
- package/lib/minimal/horizon/index.d.ts +1 -1
- package/lib/minimal/horizon/types/effects.d.ts +41 -41
- package/lib/minimal/horizon/types/trade.d.ts +1 -1
- package/lib/minimal/http-client/fetch-client.d.ts +2 -2
- package/lib/minimal/http-client/fetch-client.js +16 -16
- package/lib/minimal/http-client/index.js +2 -2
- package/lib/minimal/http-client/types.d.ts +2 -2
- package/lib/minimal/index.d.ts +11 -11
- package/lib/minimal/index.js +2 -2
- package/lib/minimal/rpc/api.d.ts +148 -8
- package/lib/minimal/rpc/api.js +3 -3
- package/lib/minimal/rpc/axios.js +3 -3
- package/lib/minimal/rpc/browser.d.ts +2 -2
- package/lib/minimal/rpc/index.d.ts +1 -1
- package/lib/minimal/rpc/parsers.d.ts +3 -2
- package/lib/minimal/rpc/parsers.js +42 -19
- package/lib/minimal/rpc/server.d.ts +123 -31
- package/lib/minimal/rpc/server.js +425 -267
- package/lib/minimal/rpc/transaction.d.ts +2 -2
- package/lib/minimal/rpc/transaction.js +6 -6
- package/lib/minimal/webauth/errors.d.ts +0 -2
- package/lib/minimal/webauth/errors.js +2 -8
- package/lib/minimal/webauth/index.d.ts +2 -2
- package/lib/no-axios/contract/client.js +2 -2
- package/lib/no-axios/contract/spec.js +10 -2
- package/lib/no-axios/contract/utils.js +7 -7
- package/lib/no-axios/errors/account_requires_memo.d.ts +0 -1
- package/lib/no-axios/errors/account_requires_memo.js +0 -4
- package/lib/no-axios/errors/bad_request.d.ts +0 -1
- package/lib/no-axios/errors/bad_request.js +2 -8
- package/lib/no-axios/errors/bad_response.d.ts +0 -1
- package/lib/no-axios/errors/bad_response.js +2 -8
- package/lib/no-axios/errors/network.d.ts +0 -1
- package/lib/no-axios/errors/network.js +0 -3
- package/lib/no-axios/errors/not_found.d.ts +0 -1
- package/lib/no-axios/errors/not_found.js +2 -8
- package/lib/no-axios/federation/index.d.ts +2 -2
- package/lib/no-axios/horizon/call_builder.js +1 -1
- package/lib/no-axios/horizon/horizon_api.js +0 -1
- package/lib/no-axios/horizon/horizon_axios_client.js +4 -4
- package/lib/no-axios/horizon/index.d.ts +1 -1
- package/lib/no-axios/horizon/types/effects.d.ts +41 -41
- package/lib/no-axios/horizon/types/trade.d.ts +1 -1
- package/lib/no-axios/http-client/fetch-client.d.ts +2 -2
- package/lib/no-axios/http-client/fetch-client.js +16 -16
- package/lib/no-axios/http-client/index.js +2 -2
- package/lib/no-axios/http-client/types.d.ts +2 -2
- package/lib/no-axios/index.d.ts +11 -11
- package/lib/no-axios/index.js +2 -2
- package/lib/no-axios/rpc/api.d.ts +148 -8
- package/lib/no-axios/rpc/api.js +3 -3
- package/lib/no-axios/rpc/axios.js +3 -3
- package/lib/no-axios/rpc/browser.d.ts +2 -2
- package/lib/no-axios/rpc/index.d.ts +1 -1
- package/lib/no-axios/rpc/parsers.d.ts +3 -2
- package/lib/no-axios/rpc/parsers.js +42 -19
- package/lib/no-axios/rpc/server.d.ts +123 -31
- package/lib/no-axios/rpc/server.js +425 -267
- package/lib/no-axios/rpc/transaction.d.ts +2 -2
- package/lib/no-axios/rpc/transaction.js +6 -6
- package/lib/no-axios/webauth/errors.d.ts +0 -2
- package/lib/no-axios/webauth/errors.js +2 -8
- package/lib/no-axios/webauth/index.d.ts +2 -2
- package/lib/no-eventsource/contract/client.js +2 -2
- package/lib/no-eventsource/contract/spec.js +10 -2
- package/lib/no-eventsource/contract/utils.js +7 -7
- package/lib/no-eventsource/errors/account_requires_memo.d.ts +0 -1
- package/lib/no-eventsource/errors/account_requires_memo.js +0 -4
- package/lib/no-eventsource/errors/bad_request.d.ts +0 -1
- package/lib/no-eventsource/errors/bad_request.js +2 -8
- package/lib/no-eventsource/errors/bad_response.d.ts +0 -1
- package/lib/no-eventsource/errors/bad_response.js +2 -8
- package/lib/no-eventsource/errors/network.d.ts +0 -1
- package/lib/no-eventsource/errors/network.js +0 -3
- package/lib/no-eventsource/errors/not_found.d.ts +0 -1
- package/lib/no-eventsource/errors/not_found.js +2 -8
- package/lib/no-eventsource/federation/index.d.ts +2 -2
- package/lib/no-eventsource/horizon/call_builder.js +1 -1
- package/lib/no-eventsource/horizon/horizon_api.js +0 -1
- package/lib/no-eventsource/horizon/horizon_axios_client.js +4 -4
- package/lib/no-eventsource/horizon/index.d.ts +1 -1
- package/lib/no-eventsource/horizon/types/effects.d.ts +41 -41
- package/lib/no-eventsource/horizon/types/trade.d.ts +1 -1
- package/lib/no-eventsource/http-client/fetch-client.d.ts +2 -2
- package/lib/no-eventsource/http-client/fetch-client.js +16 -16
- package/lib/no-eventsource/http-client/index.js +2 -2
- package/lib/no-eventsource/http-client/types.d.ts +2 -2
- package/lib/no-eventsource/index.d.ts +11 -11
- package/lib/no-eventsource/index.js +2 -2
- package/lib/no-eventsource/rpc/api.d.ts +148 -8
- package/lib/no-eventsource/rpc/api.js +3 -3
- package/lib/no-eventsource/rpc/axios.js +3 -3
- package/lib/no-eventsource/rpc/browser.d.ts +2 -2
- package/lib/no-eventsource/rpc/index.d.ts +1 -1
- package/lib/no-eventsource/rpc/parsers.d.ts +3 -2
- package/lib/no-eventsource/rpc/parsers.js +42 -19
- package/lib/no-eventsource/rpc/server.d.ts +123 -31
- package/lib/no-eventsource/rpc/server.js +425 -267
- package/lib/no-eventsource/rpc/transaction.d.ts +2 -2
- package/lib/no-eventsource/rpc/transaction.js +6 -6
- package/lib/no-eventsource/webauth/errors.d.ts +0 -2
- package/lib/no-eventsource/webauth/errors.js +2 -8
- package/lib/no-eventsource/webauth/index.d.ts +2 -2
- package/lib/rpc/api.d.ts +148 -8
- package/lib/rpc/api.js +3 -3
- package/lib/rpc/axios.js +3 -3
- package/lib/rpc/browser.d.ts +2 -2
- package/lib/rpc/index.d.ts +1 -1
- package/lib/rpc/parsers.d.ts +3 -2
- package/lib/rpc/parsers.js +42 -19
- package/lib/rpc/server.d.ts +123 -31
- package/lib/rpc/server.js +425 -267
- package/lib/rpc/transaction.d.ts +2 -2
- package/lib/rpc/transaction.js +6 -6
- package/lib/webauth/errors.d.ts +0 -2
- package/lib/webauth/errors.js +2 -8
- package/lib/webauth/index.d.ts +2 -2
- package/package.json +17 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FeeBumpTransaction, Transaction, TransactionBuilder } from
|
|
2
|
-
import { Api } from
|
|
1
|
+
import { FeeBumpTransaction, Transaction, TransactionBuilder } from "@stellar/stellar-base";
|
|
2
|
+
import { Api } from "./api";
|
|
3
3
|
/**
|
|
4
4
|
* Combines the given raw transaction alongside the simulation results.
|
|
5
5
|
* If the given transaction already has authorization entries in a host
|
|
@@ -12,20 +12,20 @@ function isSorobanTransaction(tx) {
|
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
14
|
switch (tx.operations[0].type) {
|
|
15
|
-
case
|
|
16
|
-
case
|
|
17
|
-
case
|
|
15
|
+
case "invokeHostFunction":
|
|
16
|
+
case "extendFootprintTtl":
|
|
17
|
+
case "restoreFootprint":
|
|
18
18
|
return true;
|
|
19
19
|
default:
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
function assembleTransaction(raw, simulation) {
|
|
24
|
-
if (
|
|
24
|
+
if ("innerTransaction" in raw) {
|
|
25
25
|
return assembleTransaction(raw.innerTransaction, simulation);
|
|
26
26
|
}
|
|
27
27
|
if (!isSorobanTransaction(raw)) {
|
|
28
|
-
throw new TypeError(
|
|
28
|
+
throw new TypeError("unsupported transaction: must contain exactly one " + "invokeHostFunction, extendFootprintTtl, or restoreFootprint " + "operation");
|
|
29
29
|
}
|
|
30
30
|
var success = (0, _parsers.parseRawSimulation)(simulation);
|
|
31
31
|
if (!_api.Api.isSimulationSuccess(success)) {
|
|
@@ -38,7 +38,7 @@ function assembleTransaction(raw, simulation) {
|
|
|
38
38
|
sorobanData: success.transactionData.build(),
|
|
39
39
|
networkPassphrase: raw.networkPassphrase
|
|
40
40
|
});
|
|
41
|
-
if (raw.operations[0].type ===
|
|
41
|
+
if (raw.operations[0].type === "invokeHostFunction") {
|
|
42
42
|
var _invokeOp$auth;
|
|
43
43
|
txnBuilder.clearOperations();
|
|
44
44
|
var invokeOp = raw.operations[0];
|
|
@@ -21,15 +21,9 @@ function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).in
|
|
|
21
21
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
22
22
|
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
23
23
|
var InvalidChallengeError = exports.InvalidChallengeError = function (_Error) {
|
|
24
|
-
function InvalidChallengeError(
|
|
25
|
-
var _this;
|
|
24
|
+
function InvalidChallengeError() {
|
|
26
25
|
_classCallCheck(this, InvalidChallengeError);
|
|
27
|
-
|
|
28
|
-
_this = _callSuper(this, InvalidChallengeError, [message]);
|
|
29
|
-
_this.__proto__ = trueProto;
|
|
30
|
-
_this.constructor = InvalidChallengeError;
|
|
31
|
-
_this.name = "InvalidChallengeError";
|
|
32
|
-
return _this;
|
|
26
|
+
return _callSuper(this, InvalidChallengeError, arguments);
|
|
33
27
|
}
|
|
34
28
|
_inherits(InvalidChallengeError, _Error);
|
|
35
29
|
return _createClass(InvalidChallengeError);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export { InvalidChallengeError } from
|
|
1
|
+
export * from "./utils";
|
|
2
|
+
export { InvalidChallengeError } from "./errors";
|
package/lib/rpc/api.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Contract, SorobanDataBuilder, xdr } from
|
|
1
|
+
import { Contract, SorobanDataBuilder, xdr } from "@stellar/stellar-base";
|
|
2
2
|
export declare namespace Api {
|
|
3
3
|
export interface GetHealthResponse {
|
|
4
|
-
status:
|
|
4
|
+
status: "healthy";
|
|
5
5
|
}
|
|
6
6
|
export interface LedgerEntryResult {
|
|
7
7
|
lastModifiedLedgerSeq?: number;
|
|
@@ -103,11 +103,19 @@ export declare namespace Api {
|
|
|
103
103
|
diagnosticEventsXdr?: string[];
|
|
104
104
|
events?: RawTransactionEvents;
|
|
105
105
|
}
|
|
106
|
-
export
|
|
106
|
+
export type GetTransactionsRequest = {
|
|
107
107
|
startLedger: number;
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
pagination?: {
|
|
109
|
+
cursor?: never;
|
|
110
|
+
limit?: number;
|
|
111
|
+
};
|
|
112
|
+
} | {
|
|
113
|
+
startLedger?: never;
|
|
114
|
+
pagination: {
|
|
115
|
+
cursor: string;
|
|
116
|
+
limit?: number;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
111
119
|
export interface RawTransactionEvents {
|
|
112
120
|
transactionEventsXdr?: string[];
|
|
113
121
|
contractEventsXdr?: string[][];
|
|
@@ -159,7 +167,7 @@ export declare namespace Api {
|
|
|
159
167
|
oldestLedgerCloseTimestamp: number;
|
|
160
168
|
cursor: string;
|
|
161
169
|
}
|
|
162
|
-
export type EventType =
|
|
170
|
+
export type EventType = "contract" | "system";
|
|
163
171
|
export interface EventFilter {
|
|
164
172
|
type?: EventType;
|
|
165
173
|
contractIds?: string[];
|
|
@@ -171,6 +179,55 @@ export declare namespace Api {
|
|
|
171
179
|
latestLedgerCloseTime: string;
|
|
172
180
|
oldestLedgerCloseTime: string;
|
|
173
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Request parameters for fetching events from the Stellar network.
|
|
184
|
+
*
|
|
185
|
+
* **Important**: This type enforces mutually exclusive pagination modes:
|
|
186
|
+
* - **Ledger range mode**: Use `startLedger` and `endLedger` (cursor must be omitted)
|
|
187
|
+
* - **Cursor pagination mode**: Use `cursor` (startLedger and endLedger must be omitted)
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* // ✅ Correct: Ledger range mode
|
|
191
|
+
* const rangeRequest: GetEventsRequest = {
|
|
192
|
+
* filters: [],
|
|
193
|
+
* startLedger: 1000,
|
|
194
|
+
* endLedger: 2000,
|
|
195
|
+
* limit: 100
|
|
196
|
+
* };
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* // ✅ Correct: Cursor pagination mode
|
|
200
|
+
* const cursorRequest: GetEventsRequest = {
|
|
201
|
+
* filters: [],
|
|
202
|
+
* cursor: "some-cursor-value",
|
|
203
|
+
* limit: 100
|
|
204
|
+
* };
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* // ❌ Invalid: Cannot mix cursor with ledger range
|
|
208
|
+
* const invalidRequest = {
|
|
209
|
+
* filters: [],
|
|
210
|
+
* startLedger: 1000, // ❌ Cannot use with cursor
|
|
211
|
+
* endLedger: 2000, // ❌ Cannot use with cursor
|
|
212
|
+
* cursor: "cursor", // ❌ Cannot use with ledger range
|
|
213
|
+
* limit: 100
|
|
214
|
+
* };
|
|
215
|
+
*
|
|
216
|
+
* @see {@link https://developers.stellar.org/docs/data/rpc/api-reference/methods/getEvents | getEvents API reference}
|
|
217
|
+
*/
|
|
218
|
+
export type GetEventsRequest = {
|
|
219
|
+
filters: Api.EventFilter[];
|
|
220
|
+
startLedger: number;
|
|
221
|
+
endLedger: number;
|
|
222
|
+
cursor?: never;
|
|
223
|
+
limit?: number;
|
|
224
|
+
} | {
|
|
225
|
+
filters: Api.EventFilter[];
|
|
226
|
+
cursor: string;
|
|
227
|
+
startLedger?: never;
|
|
228
|
+
endLedger?: never;
|
|
229
|
+
limit?: number;
|
|
230
|
+
};
|
|
174
231
|
export interface GetEventsResponse extends RetentionState {
|
|
175
232
|
events: EventResponse[];
|
|
176
233
|
cursor: string;
|
|
@@ -214,7 +271,7 @@ export declare namespace Api {
|
|
|
214
271
|
before: xdr.LedgerEntry | null;
|
|
215
272
|
after: xdr.LedgerEntry | null;
|
|
216
273
|
}
|
|
217
|
-
export type SendTransactionStatus =
|
|
274
|
+
export type SendTransactionStatus = "PENDING" | "DUPLICATE" | "TRY_AGAIN_LATER" | "ERROR";
|
|
218
275
|
export interface SendTransactionResponse extends BaseSendTransactionResponse {
|
|
219
276
|
errorResult?: xdr.TransactionResult;
|
|
220
277
|
diagnosticEvents?: xdr.DiagnosticEvent[];
|
|
@@ -378,5 +435,88 @@ export declare namespace Api {
|
|
|
378
435
|
liveUntilLedgerSeq?: number;
|
|
379
436
|
};
|
|
380
437
|
}
|
|
438
|
+
/**
|
|
439
|
+
* Request parameters for fetching a sequential list of ledgers.
|
|
440
|
+
*
|
|
441
|
+
* This type supports two distinct pagination modes that are mutually exclusive:
|
|
442
|
+
* - **Ledger-based pagination**: Use `startLedger` to begin fetching from a specific ledger sequence
|
|
443
|
+
* - **Cursor-based pagination**: Use `cursor` to continue from a previous response's pagination token
|
|
444
|
+
*
|
|
445
|
+
* @typedef {object} GetLedgersRequest
|
|
446
|
+
* @property {number} [startLedger] - Ledger sequence number to start fetching from (inclusive).
|
|
447
|
+
* Must be omitted if cursor is provided. Cannot be less than the oldest ledger or greater
|
|
448
|
+
* than the latest ledger stored on the RPC node.
|
|
449
|
+
* @property {object} [pagination] - Pagination configuration for the request.
|
|
450
|
+
* @property {string} [pagination.cursor] - Page cursor for continuing pagination from a previous
|
|
451
|
+
* response. Must be omitted if startLedger is provided.
|
|
452
|
+
* @property {number} [pagination.limit=100] - Maximum number of ledgers to return per page.
|
|
453
|
+
* Valid range: 1-10000. Defaults to 100 if not specified.
|
|
454
|
+
*
|
|
455
|
+
* @example
|
|
456
|
+
* // Ledger-based pagination - start from specific ledger
|
|
457
|
+
* const ledgerRequest: GetLedgersRequest = {
|
|
458
|
+
* startLedger: 36233,
|
|
459
|
+
* pagination: {
|
|
460
|
+
* limit: 10
|
|
461
|
+
* }
|
|
462
|
+
* };
|
|
463
|
+
*
|
|
464
|
+
* @example
|
|
465
|
+
* // Cursor-based pagination - continue from previous response
|
|
466
|
+
* const cursorRequest: GetLedgersRequest = {
|
|
467
|
+
* pagination: {
|
|
468
|
+
* cursor: "36234",
|
|
469
|
+
* limit: 5
|
|
470
|
+
* }
|
|
471
|
+
* };
|
|
472
|
+
*
|
|
473
|
+
* @see {@link https://developers.stellar.org/docs/data/rpc/api-reference/methods/getLedgers | getLedgers API reference}
|
|
474
|
+
*/
|
|
475
|
+
export type GetLedgersRequest = {
|
|
476
|
+
startLedger: number;
|
|
477
|
+
pagination?: {
|
|
478
|
+
cursor?: never;
|
|
479
|
+
limit?: number;
|
|
480
|
+
};
|
|
481
|
+
} | {
|
|
482
|
+
startLedger?: never;
|
|
483
|
+
pagination: {
|
|
484
|
+
cursor: string;
|
|
485
|
+
limit?: number;
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
/** @see https://developers.stellar.org/docs/data/rpc/api-reference/methods/getLedgers */
|
|
489
|
+
export interface GetLedgersResponse {
|
|
490
|
+
ledgers: LedgerResponse[];
|
|
491
|
+
latestLedger: number;
|
|
492
|
+
latestLedgerCloseTime: number;
|
|
493
|
+
oldestLedger: number;
|
|
494
|
+
oldestLedgerCloseTime: number;
|
|
495
|
+
cursor: string;
|
|
496
|
+
}
|
|
497
|
+
export interface RawGetLedgersResponse {
|
|
498
|
+
ledgers: RawLedgerResponse[];
|
|
499
|
+
latestLedger: number;
|
|
500
|
+
latestLedgerCloseTime: number;
|
|
501
|
+
oldestLedger: number;
|
|
502
|
+
oldestLedgerCloseTime: number;
|
|
503
|
+
cursor: string;
|
|
504
|
+
}
|
|
505
|
+
export interface LedgerResponse {
|
|
506
|
+
hash: string;
|
|
507
|
+
sequence: number;
|
|
508
|
+
ledgerCloseTime: string;
|
|
509
|
+
headerXdr: xdr.LedgerHeaderHistoryEntry;
|
|
510
|
+
metadataXdr: xdr.LedgerCloseMeta;
|
|
511
|
+
}
|
|
512
|
+
export interface RawLedgerResponse {
|
|
513
|
+
hash: string;
|
|
514
|
+
sequence: number;
|
|
515
|
+
ledgerCloseTime: string;
|
|
516
|
+
/** a base-64 encoded {@link xdr.LedgerHeaderHistoryEntry} instance */
|
|
517
|
+
headerXdr: string;
|
|
518
|
+
/** a base-64 encoded {@link xdr.LedgerCloseMeta} instance */
|
|
519
|
+
metadataXdr: string;
|
|
520
|
+
}
|
|
381
521
|
export {};
|
|
382
522
|
}
|
package/lib/rpc/api.js
CHANGED
|
@@ -14,15 +14,15 @@ var Api;
|
|
|
14
14
|
}({});
|
|
15
15
|
_Api.GetTransactionStatus = GetTransactionStatus;
|
|
16
16
|
function isSimulationError(sim) {
|
|
17
|
-
return
|
|
17
|
+
return "error" in sim;
|
|
18
18
|
}
|
|
19
19
|
_Api.isSimulationError = isSimulationError;
|
|
20
20
|
function isSimulationSuccess(sim) {
|
|
21
|
-
return
|
|
21
|
+
return "transactionData" in sim;
|
|
22
22
|
}
|
|
23
23
|
_Api.isSimulationSuccess = isSimulationSuccess;
|
|
24
24
|
function isSimulationRestore(sim) {
|
|
25
|
-
return isSimulationSuccess(sim) &&
|
|
25
|
+
return isSimulationSuccess(sim) && "restorePreamble" in sim && !!sim.restorePreamble.transactionData;
|
|
26
26
|
}
|
|
27
27
|
_Api.isSimulationRestore = isSimulationRestore;
|
|
28
28
|
function isSimulationRaw(sim) {
|
package/lib/rpc/axios.js
CHANGED
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.default = exports.AxiosClient = void 0;
|
|
7
7
|
var _httpClient = require("../http-client");
|
|
8
|
-
var version = exports.version = "14.
|
|
8
|
+
var version = exports.version = "14.3.0";
|
|
9
9
|
var AxiosClient = exports.AxiosClient = (0, _httpClient.create)({
|
|
10
10
|
headers: {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
"X-Client-Name": "js-soroban-client",
|
|
12
|
+
"X-Client-Version": version
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
var _default = exports.default = AxiosClient;
|
package/lib/rpc/browser.d.ts
CHANGED
package/lib/rpc/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @module rpc */
|
|
2
2
|
export * from "./api";
|
|
3
|
-
export { RpcServer as Server, BasicSleepStrategy, LinearSleepStrategy, Durability } from "./server";
|
|
3
|
+
export { RpcServer as Server, BasicSleepStrategy, LinearSleepStrategy, Durability, } from "./server";
|
|
4
4
|
export { default as AxiosClient } from "./axios";
|
|
5
5
|
export { parseRawSimulation, parseRawEvents } from "./parsers";
|
|
6
6
|
export * from "./transaction";
|
package/lib/rpc/parsers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Api } from
|
|
1
|
+
import { Api } from "./api";
|
|
2
2
|
/**
|
|
3
3
|
* Parse the response from invoking the `submitTransaction` method of a RPC server.
|
|
4
4
|
* @memberof module:rpc
|
|
@@ -8,7 +8,7 @@ import { Api } from './api';
|
|
|
8
8
|
* @returns {Api.SendTransactionResponse} transaction response parsed from the RPC server's response
|
|
9
9
|
*/
|
|
10
10
|
export declare function parseRawSendTransaction(raw: Api.RawSendTransactionResponse): Api.SendTransactionResponse;
|
|
11
|
-
export declare function parseTransactionInfo(raw: Api.RawTransactionInfo | Api.RawGetTransactionResponse): Omit<Api.TransactionInfo,
|
|
11
|
+
export declare function parseTransactionInfo(raw: Api.RawTransactionInfo | Api.RawGetTransactionResponse): Omit<Api.TransactionInfo, "status" | "txHash">;
|
|
12
12
|
export declare function parseRawTransactions(r: Api.RawTransactionInfo): Api.TransactionInfo;
|
|
13
13
|
/**
|
|
14
14
|
* Parse and return the retrieved events, if any, from a raw response from a
|
|
@@ -43,3 +43,4 @@ export declare function parseRawLedgerEntries(raw: Api.RawGetLedgerEntriesRespon
|
|
|
43
43
|
* @returns {Api.SimulateTransactionResponse} the original parameter (if already parsed), parsed otherwise
|
|
44
44
|
*/
|
|
45
45
|
export declare function parseRawSimulation(sim: Api.SimulateTransactionResponse | Api.RawSimulateTransactionResponse): Api.SimulateTransactionResponse;
|
|
46
|
+
export declare function parseRawLedger(raw: Api.RawLedgerResponse): Api.LedgerResponse;
|
package/lib/rpc/parsers.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.parseRawEvents = parseRawEvents;
|
|
7
|
+
exports.parseRawLedger = parseRawLedger;
|
|
7
8
|
exports.parseRawLedgerEntries = parseRawLedgerEntries;
|
|
8
9
|
exports.parseRawSendTransaction = parseRawSendTransaction;
|
|
9
10
|
exports.parseRawSimulation = parseRawSimulation;
|
|
@@ -25,24 +26,24 @@ function parseRawSendTransaction(raw) {
|
|
|
25
26
|
if (errorResultXdr) {
|
|
26
27
|
return _objectSpread(_objectSpread(_objectSpread({}, raw), diagnosticEventsXdr !== undefined && diagnosticEventsXdr.length > 0 && {
|
|
27
28
|
diagnosticEvents: diagnosticEventsXdr.map(function (evt) {
|
|
28
|
-
return _stellarBase.xdr.DiagnosticEvent.fromXDR(evt,
|
|
29
|
+
return _stellarBase.xdr.DiagnosticEvent.fromXDR(evt, "base64");
|
|
29
30
|
})
|
|
30
31
|
}), {}, {
|
|
31
|
-
errorResult: _stellarBase.xdr.TransactionResult.fromXDR(errorResultXdr,
|
|
32
|
+
errorResult: _stellarBase.xdr.TransactionResult.fromXDR(errorResultXdr, "base64")
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
35
|
return _objectSpread({}, raw);
|
|
35
36
|
}
|
|
36
37
|
function parseTransactionInfo(raw) {
|
|
37
38
|
var _raw$events$contractE, _raw$events, _raw$events$transacti, _raw$events2;
|
|
38
|
-
var meta = _stellarBase.xdr.TransactionMeta.fromXDR(raw.resultMetaXdr,
|
|
39
|
+
var meta = _stellarBase.xdr.TransactionMeta.fromXDR(raw.resultMetaXdr, "base64");
|
|
39
40
|
var info = {
|
|
40
41
|
ledger: raw.ledger,
|
|
41
42
|
createdAt: raw.createdAt,
|
|
42
43
|
applicationOrder: raw.applicationOrder,
|
|
43
44
|
feeBump: raw.feeBump,
|
|
44
|
-
envelopeXdr: _stellarBase.xdr.TransactionEnvelope.fromXDR(raw.envelopeXdr,
|
|
45
|
-
resultXdr: _stellarBase.xdr.TransactionResult.fromXDR(raw.resultXdr,
|
|
45
|
+
envelopeXdr: _stellarBase.xdr.TransactionEnvelope.fromXDR(raw.envelopeXdr, "base64"),
|
|
46
|
+
resultXdr: _stellarBase.xdr.TransactionResult.fromXDR(raw.resultXdr, "base64"),
|
|
46
47
|
resultMetaXdr: meta,
|
|
47
48
|
events: {
|
|
48
49
|
contractEventsXdr: ((_raw$events$contractE = (_raw$events = raw.events) === null || _raw$events === void 0 ? void 0 : _raw$events.contractEventsXdr) !== null && _raw$events$contractE !== void 0 ? _raw$events$contractE : []).map(function (lst) {
|
|
@@ -66,7 +67,7 @@ function parseTransactionInfo(raw) {
|
|
|
66
67
|
}
|
|
67
68
|
if (raw.diagnosticEventsXdr) {
|
|
68
69
|
info.diagnosticEventsXdr = raw.diagnosticEventsXdr.map(function (e) {
|
|
69
|
-
return _stellarBase.xdr.DiagnosticEvent.fromXDR(e,
|
|
70
|
+
return _stellarBase.xdr.DiagnosticEvent.fromXDR(e, "base64");
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
73
|
return info;
|
|
@@ -88,13 +89,13 @@ function parseRawEvents(raw) {
|
|
|
88
89
|
events: ((_raw$events3 = raw.events) !== null && _raw$events3 !== void 0 ? _raw$events3 : []).map(function (evt) {
|
|
89
90
|
var clone = _objectSpread({}, evt);
|
|
90
91
|
delete clone.contractId;
|
|
91
|
-
return _objectSpread(_objectSpread(_objectSpread({}, clone), evt.contractId !==
|
|
92
|
+
return _objectSpread(_objectSpread(_objectSpread({}, clone), evt.contractId !== "" && {
|
|
92
93
|
contractId: new _stellarBase.Contract(evt.contractId)
|
|
93
94
|
}), {}, {
|
|
94
95
|
topic: evt.topic.map(function (topic) {
|
|
95
|
-
return _stellarBase.xdr.ScVal.fromXDR(topic,
|
|
96
|
+
return _stellarBase.xdr.ScVal.fromXDR(topic, "base64");
|
|
96
97
|
}),
|
|
97
|
-
value: _stellarBase.xdr.ScVal.fromXDR(evt.value,
|
|
98
|
+
value: _stellarBase.xdr.ScVal.fromXDR(evt.value, "base64")
|
|
98
99
|
});
|
|
99
100
|
})
|
|
100
101
|
};
|
|
@@ -109,8 +110,8 @@ function parseRawLedgerEntries(raw) {
|
|
|
109
110
|
}
|
|
110
111
|
return _objectSpread({
|
|
111
112
|
lastModifiedLedgerSeq: rawEntry.lastModifiedLedgerSeq,
|
|
112
|
-
key: _stellarBase.xdr.LedgerKey.fromXDR(rawEntry.key,
|
|
113
|
-
val: _stellarBase.xdr.LedgerEntryData.fromXDR(rawEntry.xdr,
|
|
113
|
+
key: _stellarBase.xdr.LedgerKey.fromXDR(rawEntry.key, "base64"),
|
|
114
|
+
val: _stellarBase.xdr.LedgerEntryData.fromXDR(rawEntry.xdr, "base64")
|
|
114
115
|
}, rawEntry.liveUntilLedgerSeq !== undefined && {
|
|
115
116
|
liveUntilLedgerSeq: rawEntry.liveUntilLedgerSeq
|
|
116
117
|
});
|
|
@@ -127,22 +128,22 @@ function parseSuccessful(sim, partial) {
|
|
|
127
128
|
var _row$auth;
|
|
128
129
|
return {
|
|
129
130
|
auth: ((_row$auth = row.auth) !== null && _row$auth !== void 0 ? _row$auth : []).map(function (entry) {
|
|
130
|
-
return _stellarBase.xdr.SorobanAuthorizationEntry.fromXDR(entry,
|
|
131
|
+
return _stellarBase.xdr.SorobanAuthorizationEntry.fromXDR(entry, "base64");
|
|
131
132
|
}),
|
|
132
|
-
retval: row.xdr ? _stellarBase.xdr.ScVal.fromXDR(row.xdr,
|
|
133
|
+
retval: row.xdr ? _stellarBase.xdr.ScVal.fromXDR(row.xdr, "base64") : _stellarBase.xdr.ScVal.scvVoid()
|
|
133
134
|
};
|
|
134
135
|
})[0]
|
|
135
136
|
}), ((_sim$stateChanges$len = (_sim$stateChanges = sim.stateChanges) === null || _sim$stateChanges === void 0 ? void 0 : _sim$stateChanges.length) !== null && _sim$stateChanges$len !== void 0 ? _sim$stateChanges$len : 0 > 0) && {
|
|
136
137
|
stateChanges: (_sim$stateChanges2 = sim.stateChanges) === null || _sim$stateChanges2 === void 0 ? void 0 : _sim$stateChanges2.map(function (entryChange) {
|
|
137
138
|
return {
|
|
138
139
|
type: entryChange.type,
|
|
139
|
-
key: _stellarBase.xdr.LedgerKey.fromXDR(entryChange.key,
|
|
140
|
-
before: entryChange.before ? _stellarBase.xdr.LedgerEntry.fromXDR(entryChange.before,
|
|
141
|
-
after: entryChange.after ? _stellarBase.xdr.LedgerEntry.fromXDR(entryChange.after,
|
|
140
|
+
key: _stellarBase.xdr.LedgerKey.fromXDR(entryChange.key, "base64"),
|
|
141
|
+
before: entryChange.before ? _stellarBase.xdr.LedgerEntry.fromXDR(entryChange.before, "base64") : null,
|
|
142
|
+
after: entryChange.after ? _stellarBase.xdr.LedgerEntry.fromXDR(entryChange.after, "base64") : null
|
|
142
143
|
};
|
|
143
144
|
})
|
|
144
145
|
});
|
|
145
|
-
if (!sim.restorePreamble || sim.restorePreamble.transactionData ===
|
|
146
|
+
if (!sim.restorePreamble || sim.restorePreamble.transactionData === "") {
|
|
146
147
|
return success;
|
|
147
148
|
}
|
|
148
149
|
return _objectSpread(_objectSpread({}, success), {}, {
|
|
@@ -163,13 +164,35 @@ function parseRawSimulation(sim) {
|
|
|
163
164
|
id: sim.id,
|
|
164
165
|
latestLedger: sim.latestLedger,
|
|
165
166
|
events: (_sim$events$map = (_sim$events = sim.events) === null || _sim$events === void 0 ? void 0 : _sim$events.map(function (evt) {
|
|
166
|
-
return _stellarBase.xdr.DiagnosticEvent.fromXDR(evt,
|
|
167
|
+
return _stellarBase.xdr.DiagnosticEvent.fromXDR(evt, "base64");
|
|
167
168
|
})) !== null && _sim$events$map !== void 0 ? _sim$events$map : []
|
|
168
169
|
};
|
|
169
|
-
if (typeof sim.error ===
|
|
170
|
+
if (typeof sim.error === "string") {
|
|
170
171
|
return _objectSpread(_objectSpread({}, base), {}, {
|
|
171
172
|
error: sim.error
|
|
172
173
|
});
|
|
173
174
|
}
|
|
174
175
|
return parseSuccessful(sim, base);
|
|
176
|
+
}
|
|
177
|
+
function parseRawLedger(raw) {
|
|
178
|
+
if (!raw.metadataXdr || !raw.headerXdr) {
|
|
179
|
+
var missingFields;
|
|
180
|
+
if (!raw.metadataXdr && !raw.headerXdr) {
|
|
181
|
+
missingFields = "metadataXdr and headerXdr";
|
|
182
|
+
} else if (!raw.metadataXdr) {
|
|
183
|
+
missingFields = "metadataXdr";
|
|
184
|
+
} else {
|
|
185
|
+
missingFields = "headerXdr";
|
|
186
|
+
}
|
|
187
|
+
throw new TypeError("invalid ledger missing fields: ".concat(missingFields));
|
|
188
|
+
}
|
|
189
|
+
var metadataXdr = _stellarBase.xdr.LedgerCloseMeta.fromXDR(raw.metadataXdr, "base64");
|
|
190
|
+
var headerXdr = _stellarBase.xdr.LedgerHeaderHistoryEntry.fromXDR(raw.headerXdr, "base64");
|
|
191
|
+
return {
|
|
192
|
+
hash: raw.hash,
|
|
193
|
+
sequence: raw.sequence,
|
|
194
|
+
ledgerCloseTime: raw.ledgerCloseTime,
|
|
195
|
+
metadataXdr: metadataXdr,
|
|
196
|
+
headerXdr: headerXdr
|
|
197
|
+
};
|
|
175
198
|
}
|