@stellar/stellar-sdk 13.0.0 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +24 -4
  2. package/README.md +1 -1
  3. package/dist/stellar-sdk-minimal.js +41079 -40629
  4. package/dist/stellar-sdk-minimal.min.js +1 -1
  5. package/dist/stellar-sdk-no-axios.js +51476 -50336
  6. package/dist/stellar-sdk-no-axios.min.js +1 -1
  7. package/dist/stellar-sdk-no-eventsource.js +44487 -44397
  8. package/dist/stellar-sdk-no-eventsource.min.js +1 -1
  9. package/dist/stellar-sdk.js +54884 -54104
  10. package/dist/stellar-sdk.min.js +1 -1
  11. package/lib/contract/assembled_transaction.js +3 -5
  12. package/lib/contract/client.d.ts +2 -0
  13. package/lib/contract/client.js +72 -11
  14. package/lib/contract/sent_transaction.d.ts +3 -1
  15. package/lib/contract/spec.js +1 -1
  16. package/lib/friendbot/index.d.ts +1 -0
  17. package/lib/horizon/call_builder.d.ts +1 -1
  18. package/lib/horizon/horizon_api.d.ts +15 -0
  19. package/lib/horizon/horizon_axios_client.js +1 -1
  20. package/lib/horizon/server.d.ts +5 -0
  21. package/lib/horizon/server.js +80 -59
  22. package/lib/minimal/contract/assembled_transaction.js +3 -5
  23. package/lib/minimal/contract/client.d.ts +2 -0
  24. package/lib/minimal/contract/client.js +72 -11
  25. package/lib/minimal/contract/sent_transaction.d.ts +3 -1
  26. package/lib/minimal/contract/spec.js +1 -1
  27. package/lib/minimal/friendbot/index.d.ts +1 -0
  28. package/lib/minimal/horizon/call_builder.d.ts +1 -1
  29. package/lib/minimal/horizon/horizon_api.d.ts +15 -0
  30. package/lib/minimal/horizon/horizon_axios_client.js +1 -1
  31. package/lib/minimal/horizon/server.d.ts +5 -0
  32. package/lib/minimal/horizon/server.js +80 -59
  33. package/lib/minimal/rpc/api.d.ts +2 -1
  34. package/lib/minimal/rpc/axios.js +1 -1
  35. package/lib/minimal/rpc/parsers.js +1 -0
  36. package/lib/minimal/rpc/server.js +27 -8
  37. package/lib/no-axios/contract/assembled_transaction.js +3 -5
  38. package/lib/no-axios/contract/client.d.ts +2 -0
  39. package/lib/no-axios/contract/client.js +72 -11
  40. package/lib/no-axios/contract/sent_transaction.d.ts +3 -1
  41. package/lib/no-axios/contract/spec.js +1 -1
  42. package/lib/no-axios/friendbot/index.d.ts +1 -0
  43. package/lib/no-axios/horizon/call_builder.d.ts +1 -1
  44. package/lib/no-axios/horizon/horizon_api.d.ts +15 -0
  45. package/lib/no-axios/horizon/horizon_axios_client.js +1 -1
  46. package/lib/no-axios/horizon/server.d.ts +5 -0
  47. package/lib/no-axios/horizon/server.js +80 -59
  48. package/lib/no-axios/rpc/api.d.ts +2 -1
  49. package/lib/no-axios/rpc/axios.js +1 -1
  50. package/lib/no-axios/rpc/parsers.js +1 -0
  51. package/lib/no-axios/rpc/server.js +27 -8
  52. package/lib/no-eventsource/contract/assembled_transaction.js +3 -5
  53. package/lib/no-eventsource/contract/client.d.ts +2 -0
  54. package/lib/no-eventsource/contract/client.js +72 -11
  55. package/lib/no-eventsource/contract/sent_transaction.d.ts +3 -1
  56. package/lib/no-eventsource/contract/spec.js +1 -1
  57. package/lib/no-eventsource/friendbot/index.d.ts +1 -0
  58. package/lib/no-eventsource/horizon/call_builder.d.ts +1 -1
  59. package/lib/no-eventsource/horizon/horizon_api.d.ts +15 -0
  60. package/lib/no-eventsource/horizon/horizon_axios_client.js +1 -1
  61. package/lib/no-eventsource/horizon/server.d.ts +5 -0
  62. package/lib/no-eventsource/horizon/server.js +80 -59
  63. package/lib/no-eventsource/rpc/api.d.ts +2 -1
  64. package/lib/no-eventsource/rpc/axios.js +1 -1
  65. package/lib/no-eventsource/rpc/parsers.js +1 -0
  66. package/lib/no-eventsource/rpc/server.js +27 -8
  67. package/lib/rpc/api.d.ts +2 -1
  68. package/lib/rpc/axios.js +1 -1
  69. package/lib/rpc/parsers.js +1 -0
  70. package/lib/rpc/server.js +27 -8
  71. package/package.json +24 -20
@@ -5,7 +5,7 @@ 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 = "13.0.0";
8
+ var version = exports.version = "13.2.0";
9
9
  var AxiosClient = exports.AxiosClient = (0, _httpClient.create)({
10
10
  headers: {
11
11
  'X-Client-Name': 'js-soroban-client',
@@ -65,6 +65,7 @@ function parseRawEvents(raw) {
65
65
  var _raw$events;
66
66
  return {
67
67
  latestLedger: raw.latestLedger,
68
+ cursor: raw.cursor,
68
69
  events: ((_raw$events = raw.events) !== null && _raw$events !== void 0 ? _raw$events : []).map(function (evt) {
69
70
  var clone = _objectSpread({}, evt);
70
71
  delete clone.contractId;
@@ -696,7 +696,7 @@ var RpcServer = exports.RpcServer = function () {
696
696
  key: "requestAirdrop",
697
697
  value: (function () {
698
698
  var _requestAirdrop = _asyncToGenerator(_regeneratorRuntime().mark(function _callee22(address, friendbotUrl) {
699
- var account, response, meta, sequence, _error$response, _error$response$detai;
699
+ var account, response, meta, txMeta, sequence, _error$response, _error$response$detai;
700
700
  return _regeneratorRuntime().wrap(function _callee22$(_context22) {
701
701
  while (1) switch (_context22.prev = _context22.next) {
702
702
  case 0:
@@ -723,28 +723,47 @@ var RpcServer = exports.RpcServer = function () {
723
723
  return _axios.default.post("".concat(friendbotUrl, "?addr=").concat(encodeURIComponent(account)));
724
724
  case 12:
725
725
  response = _context22.sent;
726
+ if (response.data.result_meta_xdr) {
727
+ _context22.next = 22;
728
+ break;
729
+ }
730
+ _context22.next = 16;
731
+ return this.getTransaction(response.data.hash);
732
+ case 16:
733
+ txMeta = _context22.sent;
734
+ if (!(txMeta.status !== _api.Api.GetTransactionStatus.SUCCESS)) {
735
+ _context22.next = 19;
736
+ break;
737
+ }
738
+ throw new Error("Funding account ".concat(address, " failed"));
739
+ case 19:
740
+ meta = txMeta.resultMetaXdr;
741
+ _context22.next = 23;
742
+ break;
743
+ case 22:
726
744
  meta = _stellarBase.xdr.TransactionMeta.fromXDR(response.data.result_meta_xdr, 'base64');
745
+ case 23:
727
746
  sequence = findCreatedAccountSequenceInTransactionMeta(meta);
728
747
  return _context22.abrupt("return", new _stellarBase.Account(account, sequence));
729
- case 18:
730
- _context22.prev = 18;
748
+ case 27:
749
+ _context22.prev = 27;
731
750
  _context22.t1 = _context22["catch"](9);
732
751
  if (!(((_error$response = _context22.t1.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 400)) {
733
- _context22.next = 23;
752
+ _context22.next = 32;
734
753
  break;
735
754
  }
736
755
  if (!((_error$response$detai = _context22.t1.response.detail) !== null && _error$response$detai !== void 0 && _error$response$detai.includes('createAccountAlreadyExist'))) {
737
- _context22.next = 23;
756
+ _context22.next = 32;
738
757
  break;
739
758
  }
740
759
  return _context22.abrupt("return", this.getAccount(account));
741
- case 23:
760
+ case 32:
742
761
  throw _context22.t1;
743
- case 24:
762
+ case 33:
744
763
  case "end":
745
764
  return _context22.stop();
746
765
  }
747
- }, _callee22, this, [[9, 18]]);
766
+ }, _callee22, this, [[9, 27]]);
748
767
  }));
749
768
  function requestAirdrop(_x21, _x22) {
750
769
  return _requestAirdrop.apply(this, arguments);
package/lib/rpc/api.d.ts CHANGED
@@ -155,6 +155,7 @@ export declare namespace Api {
155
155
  export interface GetEventsResponse {
156
156
  latestLedger: number;
157
157
  events: EventResponse[];
158
+ cursor: string;
158
159
  }
159
160
  export interface EventResponse extends BaseEventResponse {
160
161
  contractId?: Contract;
@@ -164,13 +165,13 @@ export declare namespace Api {
164
165
  export interface RawGetEventsResponse {
165
166
  latestLedger: number;
166
167
  events: RawEventResponse[];
168
+ cursor: string;
167
169
  }
168
170
  interface BaseEventResponse {
169
171
  id: string;
170
172
  type: EventType;
171
173
  ledger: number;
172
174
  ledgerClosedAt: string;
173
- cursor: string;
174
175
  pagingToken: string;
175
176
  inSuccessfulContractCall: boolean;
176
177
  txHash: string;
package/lib/rpc/axios.js CHANGED
@@ -5,7 +5,7 @@ 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 = "13.0.0";
8
+ var version = exports.version = "13.2.0";
9
9
  var AxiosClient = exports.AxiosClient = (0, _httpClient.create)({
10
10
  headers: {
11
11
  'X-Client-Name': 'js-soroban-client',
@@ -65,6 +65,7 @@ function parseRawEvents(raw) {
65
65
  var _raw$events;
66
66
  return {
67
67
  latestLedger: raw.latestLedger,
68
+ cursor: raw.cursor,
68
69
  events: ((_raw$events = raw.events) !== null && _raw$events !== void 0 ? _raw$events : []).map(function (evt) {
69
70
  var clone = _objectSpread({}, evt);
70
71
  delete clone.contractId;
package/lib/rpc/server.js CHANGED
@@ -696,7 +696,7 @@ var RpcServer = exports.RpcServer = function () {
696
696
  key: "requestAirdrop",
697
697
  value: (function () {
698
698
  var _requestAirdrop = _asyncToGenerator(_regeneratorRuntime().mark(function _callee22(address, friendbotUrl) {
699
- var account, response, meta, sequence, _error$response, _error$response$detai;
699
+ var account, response, meta, txMeta, sequence, _error$response, _error$response$detai;
700
700
  return _regeneratorRuntime().wrap(function _callee22$(_context22) {
701
701
  while (1) switch (_context22.prev = _context22.next) {
702
702
  case 0:
@@ -723,28 +723,47 @@ var RpcServer = exports.RpcServer = function () {
723
723
  return _axios.default.post("".concat(friendbotUrl, "?addr=").concat(encodeURIComponent(account)));
724
724
  case 12:
725
725
  response = _context22.sent;
726
+ if (response.data.result_meta_xdr) {
727
+ _context22.next = 22;
728
+ break;
729
+ }
730
+ _context22.next = 16;
731
+ return this.getTransaction(response.data.hash);
732
+ case 16:
733
+ txMeta = _context22.sent;
734
+ if (!(txMeta.status !== _api.Api.GetTransactionStatus.SUCCESS)) {
735
+ _context22.next = 19;
736
+ break;
737
+ }
738
+ throw new Error("Funding account ".concat(address, " failed"));
739
+ case 19:
740
+ meta = txMeta.resultMetaXdr;
741
+ _context22.next = 23;
742
+ break;
743
+ case 22:
726
744
  meta = _stellarBase.xdr.TransactionMeta.fromXDR(response.data.result_meta_xdr, 'base64');
745
+ case 23:
727
746
  sequence = findCreatedAccountSequenceInTransactionMeta(meta);
728
747
  return _context22.abrupt("return", new _stellarBase.Account(account, sequence));
729
- case 18:
730
- _context22.prev = 18;
748
+ case 27:
749
+ _context22.prev = 27;
731
750
  _context22.t1 = _context22["catch"](9);
732
751
  if (!(((_error$response = _context22.t1.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 400)) {
733
- _context22.next = 23;
752
+ _context22.next = 32;
734
753
  break;
735
754
  }
736
755
  if (!((_error$response$detai = _context22.t1.response.detail) !== null && _error$response$detai !== void 0 && _error$response$detai.includes('createAccountAlreadyExist'))) {
737
- _context22.next = 23;
756
+ _context22.next = 32;
738
757
  break;
739
758
  }
740
759
  return _context22.abrupt("return", this.getAccount(account));
741
- case 23:
760
+ case 32:
742
761
  throw _context22.t1;
743
- case 24:
762
+ case 33:
744
763
  case "end":
745
764
  return _context22.stop();
746
765
  }
747
- }, _callee22, this, [[9, 18]]);
766
+ }, _callee22, this, [[9, 27]]);
748
767
  }));
749
768
  function requestAirdrop(_x21, _x22) {
750
769
  return _requestAirdrop.apply(this, arguments);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stellar/stellar-sdk",
3
- "version": "13.0.0",
3
+ "version": "13.2.0",
4
4
  "description": "A library for working with the Stellar network, including communication with the Horizon and Soroban RPC servers.",
5
5
  "keywords": [
6
6
  "stellar"
@@ -98,7 +98,8 @@
98
98
  "docs": "yarn build:docs && jsdoc -c ./config/.jsdoc.json",
99
99
  "test": "yarn build:test && yarn test:node && yarn test:integration && yarn test:browser",
100
100
  "test:e2e": "./test/e2e/initialize.sh && yarn _nyc mocha --recursive 'test/e2e/src/test-*.js'",
101
- "test:node": "yarn _nyc mocha --recursive 'test/unit/**/*.js'",
101
+ "test:e2e:noeval": "NODE_ARGS='--disable-eval' yarn test:e2e",
102
+ "test:node": "NODE_OPTIONS=$(test ! $(node -v | awk -F'.' '{printf substr($1,2)}') = '18' && echo '--no-experimental-detect-module') yarn _nyc mocha --recursive 'test/unit/**/*.js'",
102
103
  "test:integration": "yarn _nyc mocha --recursive 'test/integration/**/*.js'",
103
104
  "test:browser": "karma start config/karma.conf.js",
104
105
  "test:browser:no-axios": "cross-env USE_AXIOS=false yarn build:browser && cross-env USE_AXIOS=false karma start config/karma.conf.js",
@@ -107,7 +108,7 @@
107
108
  "prepare": "yarn build:prod",
108
109
  "_build": "yarn build:node:all && yarn build:test && yarn build:browser:all",
109
110
  "_babel": "babel --extensions '.ts' --out-dir ${OUTPUT_DIR:-lib} src/",
110
- "_nyc": "nyc --nycrc-path config/.nycrc",
111
+ "_nyc": "node $(NODE_ARGS) node_modules/.bin/nyc --nycrc-path config/.nycrc",
111
112
  "_prettier": "prettier --ignore-path config/.prettierignore --write './test/**/*.js'"
112
113
  },
113
114
  "husky": {
@@ -120,6 +121,9 @@
120
121
  "yarn fmt"
121
122
  ]
122
123
  },
124
+ "engines": {
125
+ "node": ">=18.0.0"
126
+ },
123
127
  "mocha": {
124
128
  "reporter": "spec",
125
129
  "require": [
@@ -142,24 +146,24 @@
142
146
  ]
143
147
  },
144
148
  "devDependencies": {
145
- "@babel/cli": "^7.25.9",
146
- "@babel/core": "^7.26.0",
147
- "@babel/eslint-plugin": "^7.25.9",
148
- "@babel/preset-env": "^7.26.0",
149
+ "@babel/cli": "^7.26.4",
150
+ "@babel/core": "^7.26.10",
151
+ "@babel/eslint-plugin": "^7.26.10",
152
+ "@babel/preset-env": "^7.26.9",
149
153
  "@babel/preset-typescript": "^7.26.0",
150
154
  "@babel/register": "^7.25.9",
151
- "@definitelytyped/dtslint": "^0.2.27",
155
+ "@definitelytyped/dtslint": "^0.2.29",
152
156
  "@istanbuljs/nyc-config-babel": "3.0.0",
153
157
  "@stellar/tsconfig": "^1.0.2",
154
158
  "@types/chai": "^4.3.19",
155
159
  "@types/detect-node": "^2.0.0",
156
160
  "@types/eventsource": "^1.1.12",
157
161
  "@types/json-schema": "^7.0.15",
158
- "@types/lodash": "^4.17.13",
162
+ "@types/lodash": "^4.17.16",
159
163
  "@types/mocha": "^10.0.9",
160
164
  "@types/node": "^20.14.11",
161
165
  "@types/randombytes": "^2.0.1",
162
- "@types/sinon": "^17.0.2",
166
+ "@types/sinon": "^17.0.4",
163
167
  "@types/urijs": "^1.19.20",
164
168
  "@typescript-eslint/parser": "^7.16.1",
165
169
  "axios-mock-adapter": "^1.22.0",
@@ -172,7 +176,7 @@
172
176
  "chai-as-promised": "^7.1.1",
173
177
  "chai-http": "^4.3.0",
174
178
  "cross-env": "^7.0.3",
175
- "dotenv": "^16.4.5",
179
+ "dotenv": "^16.4.7",
176
180
  "eslint": "^8.57.0",
177
181
  "eslint-config-airbnb-base": "^15.0.0",
178
182
  "eslint-config-airbnb-typescript": "^18.0.0",
@@ -181,7 +185,7 @@
181
185
  "eslint-plugin-jsdoc": "^48.8.0",
182
186
  "eslint-plugin-node": "^11.1.0",
183
187
  "eslint-plugin-prefer-import": "^0.0.1",
184
- "eslint-plugin-prettier": "^5.2.1",
188
+ "eslint-plugin-prettier": "^5.2.3",
185
189
  "eslint-webpack-plugin": "^4.2.0",
186
190
  "ghooks": "^2.0.4",
187
191
  "husky": "^9.1.6",
@@ -195,29 +199,29 @@
195
199
  "karma-mocha": "^2.0.0",
196
200
  "karma-sinon-chai": "^2.0.2",
197
201
  "karma-webpack": "^5.0.1",
198
- "lint-staged": "^15.2.10",
202
+ "lint-staged": "^15.5.0",
199
203
  "lodash": "^4.17.21",
200
204
  "mocha": "^10.8.2",
201
205
  "node-polyfill-webpack-plugin": "^3.0.0",
202
206
  "null-loader": "^4.0.1",
203
207
  "nyc": "^17.0.0",
204
- "prettier": "^3.3.3",
208
+ "prettier": "^3.5.3",
205
209
  "randombytes": "^2.1.0",
206
210
  "sinon": "^17.0.1",
207
211
  "sinon-chai": "^3.7.0",
208
212
  "taffydb": "^2.7.3",
209
- "terser-webpack-plugin": "^5.3.10",
213
+ "terser-webpack-plugin": "^5.3.14",
210
214
  "ts-node": "^10.9.2",
211
- "typescript": "^5.6.3",
212
- "webpack": "^5.96.1",
215
+ "typescript": "^5.8.2",
216
+ "webpack": "^5.98.0",
213
217
  "webpack-cli": "^5.0.1"
214
218
  },
215
219
  "dependencies": {
216
- "@stellar/stellar-base": "^13.0.1",
217
- "axios": "^1.7.7",
220
+ "@stellar/stellar-base": "^13.1.0",
221
+ "axios": "^1.8.4",
218
222
  "bignumber.js": "^9.1.2",
219
223
  "eventsource": "^2.0.2",
220
- "feaxios": "^0.0.20",
224
+ "feaxios": "^0.0.23",
221
225
  "randombytes": "^2.1.0",
222
226
  "toml": "^3.0.0",
223
227
  "urijs": "^1.19.1"