algosdk 1.13.0-beta.1 → 1.13.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.
Files changed (86) hide show
  1. package/README.md +4 -4
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.map +1 -1
  4. package/dist/cjs/src/abi/abi_type.js +75 -47
  5. package/dist/cjs/src/abi/abi_type.js.map +1 -1
  6. package/dist/cjs/src/abi/contract.js +6 -4
  7. package/dist/cjs/src/abi/contract.js.map +1 -1
  8. package/dist/cjs/src/abi/index.js +2 -0
  9. package/dist/cjs/src/abi/index.js.map +1 -1
  10. package/dist/cjs/src/abi/interface.js +2 -0
  11. package/dist/cjs/src/abi/interface.js.map +1 -1
  12. package/dist/cjs/src/abi/method.js +5 -8
  13. package/dist/cjs/src/abi/method.js.map +1 -1
  14. package/dist/cjs/src/abi/reference.js +25 -0
  15. package/dist/cjs/src/abi/reference.js.map +1 -0
  16. package/dist/cjs/src/abi/transaction.js +52 -0
  17. package/dist/cjs/src/abi/transaction.js.map +1 -0
  18. package/dist/cjs/src/client/baseHTTPClient.js +3 -0
  19. package/dist/cjs/src/client/baseHTTPClient.js.map +1 -0
  20. package/dist/cjs/src/client/client.js +165 -104
  21. package/dist/cjs/src/client/client.js.map +1 -1
  22. package/dist/cjs/src/client/urlTokenBaseHTTPClient.js +138 -0
  23. package/dist/cjs/src/client/urlTokenBaseHTTPClient.js.map +1 -0
  24. package/dist/cjs/src/client/v2/algod/algod.js +7 -2
  25. package/dist/cjs/src/client/v2/algod/algod.js.map +1 -1
  26. package/dist/cjs/src/client/v2/indexer/indexer.js +7 -2
  27. package/dist/cjs/src/client/v2/indexer/indexer.js.map +1 -1
  28. package/dist/cjs/src/client/v2/serviceClient.js +17 -8
  29. package/dist/cjs/src/client/v2/serviceClient.js.map +1 -1
  30. package/dist/cjs/src/composer.js +154 -34
  31. package/dist/cjs/src/composer.js.map +1 -1
  32. package/dist/cjs/src/main.js.map +1 -1
  33. package/dist/cjs/src/transaction.js +4 -2
  34. package/dist/cjs/src/transaction.js.map +1 -1
  35. package/dist/cjs/src/wait.js +21 -8
  36. package/dist/cjs/src/wait.js.map +1 -1
  37. package/dist/esm/src/abi/abi_type.js +75 -47
  38. package/dist/esm/src/abi/abi_type.js.map +1 -1
  39. package/dist/esm/src/abi/contract.js +6 -4
  40. package/dist/esm/src/abi/contract.js.map +1 -1
  41. package/dist/esm/src/abi/index.js +2 -0
  42. package/dist/esm/src/abi/index.js.map +1 -1
  43. package/dist/esm/src/abi/interface.js +2 -0
  44. package/dist/esm/src/abi/interface.js.map +1 -1
  45. package/dist/esm/src/abi/method.js +3 -5
  46. package/dist/esm/src/abi/method.js.map +1 -1
  47. package/dist/esm/src/abi/reference.js +21 -0
  48. package/dist/esm/src/abi/reference.js.map +1 -0
  49. package/dist/esm/src/abi/transaction.js +47 -0
  50. package/dist/esm/src/abi/transaction.js.map +1 -0
  51. package/dist/esm/src/client/baseHTTPClient.js +2 -0
  52. package/dist/esm/src/client/baseHTTPClient.js.map +1 -0
  53. package/dist/esm/src/client/client.js +165 -101
  54. package/dist/esm/src/client/client.js.map +1 -1
  55. package/dist/esm/src/client/urlTokenBaseHTTPClient.js +112 -0
  56. package/dist/esm/src/client/urlTokenBaseHTTPClient.js.map +1 -0
  57. package/dist/esm/src/client/v2/algod/algod.js +7 -2
  58. package/dist/esm/src/client/v2/algod/algod.js.map +1 -1
  59. package/dist/esm/src/client/v2/indexer/indexer.js +7 -2
  60. package/dist/esm/src/client/v2/indexer/indexer.js.map +1 -1
  61. package/dist/esm/src/client/v2/serviceClient.js +17 -8
  62. package/dist/esm/src/client/v2/serviceClient.js.map +1 -1
  63. package/dist/esm/src/composer.js +155 -35
  64. package/dist/esm/src/composer.js.map +1 -1
  65. package/dist/esm/src/main.js.map +1 -1
  66. package/dist/esm/src/transaction.js +4 -2
  67. package/dist/esm/src/transaction.js.map +1 -1
  68. package/dist/esm/src/wait.js +21 -8
  69. package/dist/esm/src/wait.js.map +1 -1
  70. package/dist/types/src/abi/abi_type.d.ts +19 -19
  71. package/dist/types/src/abi/contract.d.ts +10 -2
  72. package/dist/types/src/abi/index.d.ts +2 -0
  73. package/dist/types/src/abi/interface.d.ts +2 -0
  74. package/dist/types/src/abi/method.d.ts +14 -12
  75. package/dist/types/src/abi/reference.d.ts +15 -0
  76. package/dist/types/src/abi/transaction.d.ts +33 -0
  77. package/dist/types/src/client/baseHTTPClient.d.ts +41 -0
  78. package/dist/types/src/client/client.d.ts +67 -31
  79. package/dist/types/src/client/kmd.d.ts +1 -1
  80. package/dist/types/src/client/urlTokenBaseHTTPClient.d.ts +44 -0
  81. package/dist/types/src/client/v2/algod/algod.d.ts +8 -2
  82. package/dist/types/src/client/v2/indexer/indexer.d.ts +8 -2
  83. package/dist/types/src/client/v2/serviceClient.d.ts +4 -2
  84. package/dist/types/src/composer.d.ts +17 -3
  85. package/dist/types/src/main.d.ts +1 -0
  86. package/package.json +5 -3
@@ -1,47 +1,7 @@
1
- import path from 'path';
2
- import * as request from 'superagent';
3
- import Url from 'url-parse';
4
1
  import * as utils from '../utils/utils';
5
- import IntDecoding from '../types/intDecoding';
6
- function createJSONParser(options) {
7
- return (res,
8
- // eslint-disable-next-line no-unused-vars
9
- fnOrStr
10
- // eslint-disable-next-line consistent-return
11
- ) => {
12
- if (typeof fnOrStr === 'string') {
13
- // in browser
14
- return fnOrStr && utils.parseJSON(fnOrStr, options);
15
- }
16
- // in node
17
- // based off https://github.com/visionmedia/superagent/blob/1277a880c32191e300b229e352e0633e421046c8/src/node/parsers/json.js
18
- res.text = '';
19
- res.setEncoding('utf8');
20
- res.on('data', (chunk) => {
21
- res.text += chunk;
22
- });
23
- res.on('end', () => {
24
- let body;
25
- let err;
26
- try {
27
- body = res.text && utils.parseJSON(res.text, options);
28
- }
29
- catch (err_) {
30
- err = err_;
31
- // issue #675: return the raw response if the response parsing fails
32
- err.rawResponse = res.text || null;
33
- // issue #876: return the http status code if the response parsing fails
34
- err.statusCode = res.status;
35
- }
36
- finally {
37
- fnOrStr(err, body);
38
- }
39
- });
40
- };
41
- }
2
+ import { URLTokenBaseHTTPClient } from './urlTokenBaseHTTPClient';
42
3
  /**
43
4
  * Remove falsy values or values with a length of 0 from an object.
44
- * @param obj
45
5
  */
46
6
  function removeFalsyOrEmpty(obj) {
47
7
  for (const key in obj) {
@@ -53,10 +13,19 @@ function removeFalsyOrEmpty(obj) {
53
13
  }
54
14
  return obj;
55
15
  }
16
+ /**
17
+ * Create a new object with lower-case keys
18
+ * See https://codereview.stackexchange.com/a/162418
19
+ * Used to ensure all headers are lower-case and to work more easily with them
20
+ */
21
+ function tolowerCaseKeys(o) {
22
+ /* eslint-disable no-param-reassign,no-return-assign,no-sequences */
23
+ return Object.keys(o).reduce((c, k) => ((c[k.toLowerCase()] = o[k]), c), {});
24
+ /* eslint-enable no-param-reassign,no-return-assign,no-sequences */
25
+ }
56
26
  /**
57
27
  * getAcceptFormat returns the correct Accept header depending on the
58
28
  * requested format.
59
- * @param query
60
29
  */
61
30
  function getAcceptFormat(query) {
62
31
  if (query !== undefined &&
@@ -72,29 +41,129 @@ function getAcceptFormat(query) {
72
41
  else
73
42
  return 'application/json';
74
43
  }
44
+ /**
45
+ * Check is a response is JSON or not
46
+ * Inspired from superagent code
47
+ */
48
+ function isResponseJSON(res) {
49
+ let contentType = tolowerCaseKeys(res.headers)['content-type'];
50
+ if (contentType) {
51
+ /* eslint-disable prefer-destructuring */
52
+ contentType = contentType.split(';')[0];
53
+ /* eslint-enable prefer-destructuring */
54
+ }
55
+ // regex should match /json or +json
56
+ // but not /json-seq
57
+ // from https://github.com/visionmedia/superagent/blob/048cf185d954028b1dccde0717d2488b2284c297/src/client.js#L276
58
+ return /[/+]json($|[^-\w])/i.test(contentType);
59
+ }
60
+ /**
61
+ * Check is a response is text
62
+ * Inspired from superagent code
63
+ */
64
+ function isResponseText(res) {
65
+ const contentType = tolowerCaseKeys(res.headers)['content-type'] || 'text/plain';
66
+ return /^\w*text\//i.test(contentType);
67
+ }
68
+ /**
69
+ * HTTPClient is a wrapper around a BaseHTTPClient
70
+ * It takes care of setting the proper "Accept" header and of
71
+ * decoding the JSON outputs.
72
+ */
75
73
  export default class HTTPClient {
76
- constructor(tokenHeader, baseServer, port, defaultHeaders = {}) {
77
- this.defaultHeaders = defaultHeaders;
78
- this.intDecoding = IntDecoding.DEFAULT;
79
- const baseServerURL = new Url(baseServer, {});
80
- if (typeof port !== 'undefined') {
81
- baseServerURL.set('port', port.toString());
82
- }
83
- if (baseServerURL.protocol.length === 0) {
84
- throw new Error('Invalid base server URL, protocol must be defined.');
85
- }
86
- this.baseURL = baseServerURL;
87
- this.defaultHeaders = defaultHeaders;
88
- this.tokenHeader = tokenHeader;
74
+ constructor(bcOrTokenHeader, baseServer, port, defaultHeaders = {}) {
75
+ if (baseServer !== undefined) {
76
+ this.bc = new URLTokenBaseHTTPClient(bcOrTokenHeader, baseServer, port, defaultHeaders);
77
+ }
78
+ else {
79
+ this.bc = bcOrTokenHeader;
80
+ }
89
81
  }
90
82
  /**
91
- * Compute the URL for a path relative to the instance's address
92
- * @param relativePath - A path string
93
- * @returns A URL string
83
+ * Parse JSON using either the built-in JSON.parse or utils.parseJSON
84
+ * depending on whether jsonOptions are provided or not
85
+ *
86
+ * @param text JSON data
87
+ * @param status Status of the response (used in case parseJSON fails)
88
+ * @param jsonOptions Options object to use to decode JSON responses. See
89
+ * utils.parseJSON for the options available.
90
+ * @private
94
91
  */
95
- addressWithPath(relativePath) {
96
- const address = new Url(path.posix.join(this.baseURL.pathname, relativePath), this.baseURL);
97
- return address.toString();
92
+ static parseJSON(text, status, jsonOptions = {}) {
93
+ try {
94
+ if (Object.keys(jsonOptions).length !== 0) {
95
+ return text && JSON.parse(text);
96
+ }
97
+ return text && utils.parseJSON(text, jsonOptions);
98
+ }
99
+ catch (err_) {
100
+ const err = err_;
101
+ // return the raw response if the response parsing fails
102
+ err.rawResponse = text || null;
103
+ // return the http status code if the response parsing fails
104
+ err.statusCode = status;
105
+ throw err;
106
+ }
107
+ }
108
+ /**
109
+ * Serialize the data according to the requestHeaders
110
+ * Assumes that requestHeaders contain a key "content-type"
111
+ * If the content-type is "application/json", data is JSON serialized
112
+ * Otherwise, data needs to be either an UTF-8 string that is converted to an Uint8Array
113
+ * or an Uint8Array
114
+ * @private
115
+ */
116
+ static serializeData(data, requestHeaders) {
117
+ if (!data) {
118
+ return new Uint8Array(0); // empty Uint8Array
119
+ }
120
+ if (requestHeaders['content-type'] === 'application/json') {
121
+ return new Uint8Array(Buffer.from(JSON.stringify(data)));
122
+ }
123
+ if (typeof data === 'string') {
124
+ return new Uint8Array(Buffer.from(data));
125
+ }
126
+ if (data instanceof Uint8Array) {
127
+ return data;
128
+ }
129
+ throw new Error('provided data is neither a string nor a Uint8Array and content-type is not application/json');
130
+ }
131
+ /**
132
+ * Convert a BaseHTTPClientResponse into a full HTTPClientResponse
133
+ * Parse the body in
134
+ * Modifies in place res and return the result
135
+ */
136
+ static prepareResponse(res, jsonOptions = {}) {
137
+ let { body } = res;
138
+ let text;
139
+ if (isResponseJSON(res)) {
140
+ text = (body && new TextDecoder().decode(body)) || '';
141
+ body = HTTPClient.parseJSON(text, res.status, jsonOptions);
142
+ }
143
+ else if (isResponseText(res)) {
144
+ text = (body && new TextDecoder().decode(body)) || '';
145
+ }
146
+ return {
147
+ ...res,
148
+ body,
149
+ text,
150
+ ok: Math.trunc(res.status / 100) === 2,
151
+ };
152
+ }
153
+ /**
154
+ * Prepare an error with a response
155
+ * (the type of errors BaseHTTPClient are supposed to throw)
156
+ * by adding the status and preparing the internal response
157
+ * @private
158
+ */
159
+ static prepareResponseError(err) {
160
+ if (err.response) {
161
+ // eslint-disable-next-line no-param-reassign
162
+ err.response = HTTPClient.prepareResponse(err.response);
163
+ // eslint-disable-next-line no-param-reassign
164
+ err.status = err.response.status;
165
+ }
166
+ return err;
98
167
  }
99
168
  /**
100
169
  * Send a GET request.
@@ -107,50 +176,45 @@ export default class HTTPClient {
107
176
  */
108
177
  async get(relativePath, query, requestHeaders = {}, jsonOptions = {}) {
109
178
  const format = getAcceptFormat(query);
110
- let r = request
111
- .get(this.addressWithPath(relativePath))
112
- .set(this.tokenHeader)
113
- .set(this.defaultHeaders)
114
- .set(requestHeaders)
115
- .set('Accept', format)
116
- .query(removeFalsyOrEmpty(query));
117
- if (format === 'application/msgpack') {
118
- r = r.responseType('arraybuffer');
119
- }
120
- else if (format === 'application/json' &&
121
- Object.keys(jsonOptions).length !== 0) {
122
- if (utils.isNode()) {
123
- // in node, need to set buffer
124
- r = r.buffer(true);
125
- }
126
- r = r.parse(createJSONParser(jsonOptions));
127
- }
128
- const res = await r;
129
- if (Buffer.isBuffer(res.body)) {
130
- // In node res.body will be a Buffer, but in the browser it will be an ArrayBuffer
131
- // (thanks superagent...), so convert it to an ArrayBuffer for consistency.
132
- const underlyingArrayBuffer = res.body.buffer;
133
- const start = res.body.byteOffset;
134
- const end = start + res.body.byteLength;
135
- res.body = underlyingArrayBuffer.slice(start, end);
136
- }
137
- return res;
179
+ const fullHeaders = { ...requestHeaders, accept: format };
180
+ try {
181
+ const res = await this.bc.get(relativePath, removeFalsyOrEmpty(query), fullHeaders);
182
+ return HTTPClient.prepareResponse(res, jsonOptions);
183
+ }
184
+ catch (err) {
185
+ throw HTTPClient.prepareResponseError(err);
186
+ }
138
187
  }
188
+ /**
189
+ * Send a POST request.
190
+ * If no content-type present, adds the header "content-type: application/json"
191
+ * and data is serialized in JSON (if not empty)
192
+ */
139
193
  async post(relativePath, data, requestHeaders = {}) {
140
- return request
141
- .post(this.addressWithPath(relativePath))
142
- .set(this.tokenHeader)
143
- .set(this.defaultHeaders)
144
- .set(requestHeaders)
145
- .send(data);
194
+ const fullHeaders = {
195
+ 'content-type': 'application/json',
196
+ ...tolowerCaseKeys(requestHeaders),
197
+ };
198
+ try {
199
+ const res = await this.bc.post(relativePath, HTTPClient.serializeData(data, fullHeaders), undefined, fullHeaders);
200
+ return HTTPClient.prepareResponse(res);
201
+ }
202
+ catch (err) {
203
+ throw HTTPClient.prepareResponseError(err);
204
+ }
146
205
  }
206
+ /**
207
+ * Send a DELETE request.
208
+ * If no content-type present, adds the header "content-type: application/json"
209
+ * and data is serialized in JSON (if not empty)
210
+ */
147
211
  async delete(relativePath, data, requestHeaders = {}) {
148
- return request
149
- .delete(this.addressWithPath(relativePath))
150
- .set(this.tokenHeader)
151
- .set(this.defaultHeaders)
152
- .set(requestHeaders)
153
- .send(data);
212
+ const fullHeaders = {
213
+ 'content-type': 'application/json',
214
+ ...tolowerCaseKeys(requestHeaders),
215
+ };
216
+ const res = await this.bc.delete(relativePath, HTTPClient.serializeData(data, fullHeaders), undefined, fullHeaders);
217
+ return HTTPClient.prepareResponse(res);
154
218
  }
155
219
  }
156
220
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAMxC,OAAO,EAAe,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAe/E;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAwB;IAClD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YAClD,6CAA6C;YAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACzD;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,CAAS;IAChC,oEAAoE;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,mEAAmE;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,KAAiC;IAEjC,IACE,KAAK,KAAK,SAAS;QACnB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EACrD;QACA,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,SAAS;gBACZ,OAAO,qBAAqB,CAAC;YAC/B,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,kBAAkB,CAAC;SAC7B;KACF;;QAAM,OAAO,kBAAkB,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,GAA2B;IACjD,IAAI,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAI,WAAW,EAAE;QACf,yCAAyC;QACzC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,wCAAwC;KACzC;IACD,oCAAoC;IACpC,oBAAoB;IACpB,kHAAkH;IAClH,OAAO,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,GAA2B;IACjD,MAAM,WAAW,GACf,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC;IAC/D,OAAO,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAkB7B,YACE,eAA6C,EAC7C,UAAmB,EACnB,IAAsB,EACtB,iBAAyC,EAAE;QAE3C,IAAI,UAAU,KAAK,SAAS,EAAE;YAC5B,IAAI,CAAC,EAAE,GAAG,IAAI,sBAAsB,CAClC,eAA8B,EAC9B,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC;SACH;aAAM;YACL,IAAI,CAAC,EAAE,GAAG,eAAiC,CAAC;SAC7C;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,MAAM,CAAC,SAAS,CACtB,IAAY,EACZ,MAAc,EACd,cAAiC,EAAE;QAEnC,IAAI;YACF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,OAAO,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SACnD;QAAC,OAAO,IAAI,EAAE;YACb,MAAM,GAAG,GAA4B,IAAI,CAAC;YAC1C,wDAAwD;YACxD,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC;YAC/B,4DAA4D;YAC5D,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;YACxB,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,aAAa,CAC1B,IAAY,EACZ,cAAsC;QAEtC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB;SAC9C;QACD,IAAI,cAAc,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE;YACzD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1D;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,YAAY,UAAU,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QACD,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,eAAe,CAC5B,GAA2B,EAC3B,cAAiC,EAAE;QAEnC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;QACnB,IAAI,IAAI,CAAC;QACT,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;SAC5D;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;YAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;SACvD;QAED,OAAO;YACL,GAAG,GAAG;YACN,IAAI;YACJ,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;SACvC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,oBAAoB,CAAC,GAAG;QACrC,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,6CAA6C;YAC7C,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxD,6CAA6C;YAC7C,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;SAClC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CACP,YAAoB,EACpB,KAAkB,EAClB,iBAAyC,EAAE,EAC3C,cAAiC,EAAE;QAEnC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAE1D,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC3B,YAAY,EACZ,kBAAkB,CAAC,KAAK,CAAC,EACzB,WAAW,CACZ,CAAC;YAEF,OAAO,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;SACrD;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;SAC5C;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CACR,YAAoB,EACpB,IAAS,EACT,iBAAyC,EAAE;QAE3C,MAAM,WAAW,GAAG;YAClB,cAAc,EAAE,kBAAkB;YAClC,GAAG,eAAe,CAAC,cAAc,CAAC;SACnC,CAAC;QAEF,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAC5B,YAAY,EACZ,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAC3C,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,OAAO,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SACxC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;SAC5C;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,IAAS,EACT,iBAAyC,EAAE;QAE3C,MAAM,WAAW,GAAG;YAClB,cAAc,EAAE,kBAAkB;YAClC,GAAG,eAAe,CAAC,cAAc,CAAC;SACnC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAC9B,YAAY,EACZ,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,EAC3C,SAAS,EACT,WAAW,CACZ,CAAC;QAEF,OAAO,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,112 @@
1
+ import Url from 'url-parse';
2
+ import path from 'path';
3
+ import * as request from 'superagent';
4
+ /**
5
+ * Implementation of BaseHTTPClient that uses a URL and a token
6
+ * and make the REST queries using superagent.
7
+ * This is the default implementation of BaseHTTPClient.
8
+ */
9
+ export class URLTokenBaseHTTPClient {
10
+ constructor(tokenHeader, baseServer, port, defaultHeaders = {}) {
11
+ this.defaultHeaders = defaultHeaders;
12
+ const baseServerURL = new Url(baseServer, {});
13
+ if (typeof port !== 'undefined') {
14
+ baseServerURL.set('port', port.toString());
15
+ }
16
+ if (baseServerURL.protocol.length === 0) {
17
+ throw new Error('Invalid base server URL, protocol must be defined.');
18
+ }
19
+ this.baseURL = baseServerURL;
20
+ this.tokenHeader = tokenHeader;
21
+ }
22
+ /**
23
+ * Compute the URL for a path relative to the instance's address
24
+ * @param relativePath - A path string
25
+ * @returns A URL string
26
+ */
27
+ addressWithPath(relativePath) {
28
+ const address = new Url(path.posix.join(this.baseURL.pathname, relativePath), this.baseURL);
29
+ return address.toString();
30
+ }
31
+ /**
32
+ * Convert a superagent response to a valid BaseHTTPClientResponse
33
+ * Modify the superagent response
34
+ * @private
35
+ */
36
+ static superagentToHTTPClientResponse(res) {
37
+ if (res.body instanceof ArrayBuffer) {
38
+ // Handle the case where the body is an arraybuffer which happens in the browser
39
+ res.body = new Uint8Array(res.body);
40
+ }
41
+ return res;
42
+ }
43
+ /**
44
+ * Make a superagent error more readable. For more info, see https://github.com/visionmedia/superagent/issues/1074
45
+ */
46
+ static formatSuperagentError(err) {
47
+ if (err.response) {
48
+ try {
49
+ const decoded = JSON.parse(Buffer.from(err.response.body).toString());
50
+ // eslint-disable-next-line no-param-reassign
51
+ err.message = `Network request error. Received status ${err.response.status}: ${decoded.message}`;
52
+ }
53
+ catch (err2) {
54
+ // ignore any error that happened while we are formatting the original error
55
+ }
56
+ }
57
+ return err;
58
+ }
59
+ async get(relativePath, query, requestHeaders = {}) {
60
+ const r = request
61
+ .get(this.addressWithPath(relativePath))
62
+ .set(this.tokenHeader)
63
+ .set(this.defaultHeaders)
64
+ .set(requestHeaders)
65
+ .responseType('arraybuffer')
66
+ .query(query);
67
+ try {
68
+ const res = await r;
69
+ return URLTokenBaseHTTPClient.superagentToHTTPClientResponse(res);
70
+ }
71
+ catch (err) {
72
+ throw URLTokenBaseHTTPClient.formatSuperagentError(err);
73
+ }
74
+ }
75
+ async post(relativePath, data, query, requestHeaders = {}) {
76
+ const r = request
77
+ .post(this.addressWithPath(relativePath))
78
+ .set(this.tokenHeader)
79
+ .set(this.defaultHeaders)
80
+ .set(requestHeaders)
81
+ .query(query)
82
+ .serialize((o) => o) // disable serialization from superagent
83
+ .responseType('arraybuffer')
84
+ .send(Buffer.from(data)); // Buffer.from necessary for superagent
85
+ try {
86
+ const res = await r;
87
+ return URLTokenBaseHTTPClient.superagentToHTTPClientResponse(res);
88
+ }
89
+ catch (err) {
90
+ throw URLTokenBaseHTTPClient.formatSuperagentError(err);
91
+ }
92
+ }
93
+ async delete(relativePath, data, query, requestHeaders = {}) {
94
+ const r = request
95
+ .delete(this.addressWithPath(relativePath))
96
+ .set(this.tokenHeader)
97
+ .set(this.defaultHeaders)
98
+ .set(requestHeaders)
99
+ .query(query)
100
+ .serialize((o) => o) // disable serialization from superagent
101
+ .responseType('arraybuffer')
102
+ .send(Buffer.from(data)); // Buffer.from necessary for superagent
103
+ try {
104
+ const res = await r;
105
+ return URLTokenBaseHTTPClient.superagentToHTTPClientResponse(res);
106
+ }
107
+ catch (err) {
108
+ throw URLTokenBaseHTTPClient.formatSuperagentError(err);
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=urlTokenBaseHTTPClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urlTokenBaseHTTPClient.js","sourceRoot":"","sources":["../../../../src/client/urlTokenBaseHTTPClient.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,13 @@ import Versions from './versions';
18
18
  import Genesis from './genesis';
19
19
  import Proof from './proof';
20
20
  export default class AlgodClient extends ServiceClient {
21
- constructor(token, baseServer = 'http://r2.algorand.network', port = 4180, headers = {}) {
22
- super('X-Algo-API-Token', token, baseServer, port, headers);
21
+ /**
22
+ * Create an AlgodClient from
23
+ * * either a token, baseServer, port, and optional headers
24
+ * * or a base client server for interoperability with external dApp wallets
25
+ */
26
+ constructor(tokenOrBaseClient, baseServer = 'http://r2.algorand.network', port = 4180, headers = {}) {
27
+ super('X-Algo-API-Token', tokenOrBaseClient, baseServer, port, headers);
23
28
  }
24
29
  healthCheck() {
25
30
  return new HealthCheck(this.c);
@@ -1 +1 @@
1
- {"version":3,"file":"algod.js","sourceRoot":"","sources":["../../../../../../src/client/v2/algod/algod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"algod.js","sourceRoot":"","sources":["../../../../../../src/client/v2/algod/algod.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,13 @@ import SearchForTransactions from './searchForTransactions';
14
14
  import SearchForAssets from './searchForAssets';
15
15
  import SearchForApplications from './searchForApplications';
16
16
  export default class IndexerClient extends ServiceClient {
17
- constructor(token, baseServer = 'http://127.0.0.1', port = 8080, headers = {}) {
18
- super('X-Indexer-API-Token', token, baseServer, port, headers);
17
+ /**
18
+ * Create an IndexerClient from
19
+ * * either a token, baseServer, port, and optional headers
20
+ * * or a base client server for interoperability with external dApp wallets
21
+ */
22
+ constructor(tokenOrBaseClient, baseServer = 'http://127.0.0.1', port = 8080, headers = {}) {
23
+ super('X-Indexer-API-Token', tokenOrBaseClient, baseServer, port, headers);
19
24
  }
20
25
  /**
21
26
  * Returns the health object for the service.
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../../../../../src/client/v2/indexer/indexer.ts"],"names":[],"mappings":"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"}
@@ -10,21 +10,30 @@ function convertTokenStringToTokenHeader(token = '', headerIdentifier) {
10
10
  tokenHeader[headerIdentifier] = token;
11
11
  return tokenHeader;
12
12
  }
13
+ function isBaseHTTPClient(tbc) {
14
+ return typeof tbc.get === 'function';
15
+ }
13
16
  /**
14
17
  * Abstract service client to encapsulate shared AlgodClient and IndexerClient logic
15
18
  */
16
19
  export default class ServiceClient {
17
- constructor(tokenHeaderIdentifier, tokenHeaderOrStr, baseServer, port, defaultHeaders = {}) {
18
- // Accept token header as string or object
19
- // - workaround to allow backwards compatibility for multiple headers
20
- let tokenHeader;
21
- if (typeof tokenHeaderOrStr === 'string') {
22
- tokenHeader = convertTokenStringToTokenHeader(tokenHeaderOrStr, tokenHeaderIdentifier);
20
+ constructor(tokenHeaderIdentifier, tokenHeaderOrStrOrBaseClient, baseServer, port, defaultHeaders = {}) {
21
+ if (isBaseHTTPClient(tokenHeaderOrStrOrBaseClient)) {
22
+ // we are using a base client
23
+ this.c = new HTTPClient(tokenHeaderOrStrOrBaseClient);
23
24
  }
24
25
  else {
25
- tokenHeader = tokenHeaderOrStr;
26
+ // Accept token header as string or object
27
+ // - workaround to allow backwards compatibility for multiple headers
28
+ let tokenHeader;
29
+ if (typeof tokenHeaderOrStrOrBaseClient === 'string') {
30
+ tokenHeader = convertTokenStringToTokenHeader(tokenHeaderOrStrOrBaseClient, tokenHeaderIdentifier);
31
+ }
32
+ else {
33
+ tokenHeader = tokenHeaderOrStrOrBaseClient;
34
+ }
35
+ this.c = new HTTPClient(tokenHeader, baseServer, port, defaultHeaders);
26
36
  }
27
- this.c = new HTTPClient(tokenHeader, baseServer, port, defaultHeaders);
28
37
  this.intDecoding = IntDecoding.DEFAULT;
29
38
  }
30
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"serviceClient.js","sourceRoot":"","sources":["../../../../../src/client/v2/serviceClient.ts"],"names":[],"mappings":"AAAA,OAAO,UAA2B,MAAM,WAAW,CAAC;AACpD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAQlD;;;;GAIG;AACH,SAAS,+BAA+B,CACtC,QAAgB,EAAE,EAClB,gBAAuC;IAEvC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,WAAW,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACtC,OAAO,WAA0B,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,aAAa;IAIzC,YACE,qBAA4C,EAC5C,gBAAsC,EACtC,UAAkB,EAClB,IAAsB,EACtB,iBAAsC,EAAE;QAExC,0CAA0C;QAC1C,qEAAqE;QACrE,IAAI,WAAwB,CAAC;QAC7B,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;YACxC,WAAW,GAAG,+BAA+B,CAC3C,gBAAgB,EAChB,qBAAqB,CACtB,CAAC;SACH;aAAM;YACL,WAAW,GAAG,gBAAgB,CAAC;SAChC;QAED,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"serviceClient.js","sourceRoot":"","sources":["../../../../../src/client/v2/serviceClient.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAUlD;;;;GAIG;AACH,SAAS,+BAA+B,CACtC,QAAgB,EAAE,EAClB,gBAAuC;IAEvC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,WAAW,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACtC,OAAO,WAA0B,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CACvB,GAA0C;IAE1C,OAAO,OAAQ,GAAsB,CAAC,GAAG,KAAK,UAAU,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,OAAgB,aAAa;IAIzC,YACE,qBAA4C,EAC5C,4BAAmE,EACnE,UAAkB,EAClB,IAAsB,EACtB,iBAAsC,EAAE;QAExC,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,EAAE;YAClD,6BAA6B;YAC7B,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,4BAA4B,CAAC,CAAC;SACvD;aAAM;YACL,0CAA0C;YAC1C,qEAAqE;YACrE,IAAI,WAAwB,CAAC;YAC7B,IAAI,OAAO,4BAA4B,KAAK,QAAQ,EAAE;gBACpD,WAAW,GAAG,+BAA+B,CAC3C,4BAA4B,EAC5B,qBAAqB,CACtB,CAAC;aACH;iBAAM;gBACL,WAAW,GAAG,4BAA4B,CAAC;aAC5C;YAED,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;SACxE;QAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAmB;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}