@across-protocol/sdk 4.3.143-alpha.3 → 4.3.143

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.
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BundleDataSS = exports.SortableEventSS = void 0;
3
+ exports.BundleDataSS = exports.SortableEventSS = exports.AddressType = void 0;
4
4
  const superstruct_1 = require("superstruct");
5
+ const ethers_1 = require("ethers");
6
+ const viem_1 = require("viem");
7
+ const kit_1 = require("@solana/kit");
8
+ const tronweb_1 = require("tronweb");
5
9
  const constants_1 = require("../../../constants");
6
10
  const utils_1 = require("../../../utils");
7
11
  const PositiveIntegerStringSS = (0, superstruct_1.pattern)((0, superstruct_1.string)(), /\d+/);
@@ -14,26 +18,40 @@ const BigNumberType = (0, superstruct_1.coerce)((0, superstruct_1.instance)(util
14
18
  return value;
15
19
  }
16
20
  });
17
- const AddressInstanceSS = (0, superstruct_1.union)([(0, superstruct_1.instance)(utils_1.EvmAddress), (0, superstruct_1.instance)(utils_1.SvmAddress), (0, superstruct_1.instance)(utils_1.RawAddress)]);
18
- const AddressType = (0, superstruct_1.coerce)(AddressInstanceSS, (0, superstruct_1.string)(), (value) => {
19
- const chainId = value.startsWith("0x") ? constants_1.CHAIN_IDs.MAINNET : constants_1.CHAIN_IDs.SOLANA;
20
- return (0, utils_1.toAddressType)(value, chainId);
21
+ const AddressInstanceSS = (0, superstruct_1.union)([
22
+ (0, superstruct_1.instance)(utils_1.EvmAddress),
23
+ (0, superstruct_1.instance)(utils_1.SvmAddress),
24
+ (0, superstruct_1.instance)(utils_1.TvmAddress),
25
+ (0, superstruct_1.instance)(utils_1.RawAddress),
26
+ ]);
27
+ exports.AddressType = (0, superstruct_1.coerce)(AddressInstanceSS, (0, superstruct_1.string)(), (value) => {
28
+ try {
29
+ if (value.length === 42 && (0, viem_1.isAddress)(value, { strict: false }))
30
+ return utils_1.EvmAddress.from(value);
31
+ if (value.length === 34 && tronweb_1.TronWeb.isAddress(value))
32
+ return utils_1.TvmAddress.from(value);
33
+ if ((0, kit_1.isAddress)(value))
34
+ return utils_1.SvmAddress.from(value);
35
+ }
36
+ catch {
37
+ }
38
+ return new utils_1.RawAddress(value.startsWith("0x") ? ethers_1.utils.arrayify(value) : utils_1.bs58.decode(value));
21
39
  });
22
40
  const Web3AddressType = (0, superstruct_1.coerce)(Web3AddressSS, (0, superstruct_1.string)(), (value) => {
23
41
  return (0, utils_1.toBytes32)(value);
24
42
  });
25
43
  const FillTypeSS = (0, superstruct_1.number)();
26
44
  const V3RelayDataSS = {
27
- inputToken: AddressType,
45
+ inputToken: exports.AddressType,
28
46
  inputAmount: BigNumberType,
29
- outputToken: AddressType,
47
+ outputToken: exports.AddressType,
30
48
  outputAmount: BigNumberType,
31
49
  fillDeadline: (0, superstruct_1.number)(),
32
- exclusiveRelayer: AddressType,
50
+ exclusiveRelayer: exports.AddressType,
33
51
  exclusivityDeadline: (0, superstruct_1.number)(),
34
52
  originChainId: (0, superstruct_1.number)(),
35
- depositor: AddressType,
36
- recipient: AddressType,
53
+ depositor: exports.AddressType,
54
+ recipient: exports.AddressType,
37
55
  depositId: BigNumberType,
38
56
  message: (0, superstruct_1.string)(),
39
57
  };
@@ -53,7 +71,7 @@ const V3DepositSS = {
53
71
  quoteTimestamp: (0, superstruct_1.number)(),
54
72
  relayerFeePct: (0, superstruct_1.optional)(BigNumberType),
55
73
  speedUpSignature: (0, superstruct_1.optional)((0, superstruct_1.string)()),
56
- updatedRecipient: (0, superstruct_1.optional)(AddressType),
74
+ updatedRecipient: (0, superstruct_1.optional)(exports.AddressType),
57
75
  updatedOutputAmount: (0, superstruct_1.optional)(BigNumberType),
58
76
  updatedMessage: (0, superstruct_1.optional)((0, superstruct_1.string)()),
59
77
  };
@@ -71,7 +89,7 @@ const V3DepositWithBlockLpFeeSS = (0, superstruct_1.object)({
71
89
  const V3RelayExecutionEventInfoSS = (0, superstruct_1.object)({
72
90
  updatedOutputAmount: BigNumberType,
73
91
  fillType: FillTypeSS,
74
- updatedRecipient: AddressType,
92
+ updatedRecipient: exports.AddressType,
75
93
  updatedMessage: (0, superstruct_1.optional)((0, superstruct_1.string)()),
76
94
  updatedMessageHash: (0, superstruct_1.defaulted)((0, superstruct_1.string)(), constants_1.UNDEFINED_MESSAGE_HASH),
77
95
  });
@@ -80,7 +98,7 @@ const V3FillSS = {
80
98
  message: (0, superstruct_1.optional)((0, superstruct_1.string)()),
81
99
  messageHash: (0, superstruct_1.defaulted)((0, superstruct_1.string)(), constants_1.UNDEFINED_MESSAGE_HASH),
82
100
  destinationChainId: (0, superstruct_1.number)(),
83
- relayer: AddressType,
101
+ relayer: exports.AddressType,
84
102
  repaymentChainId: (0, superstruct_1.number)(),
85
103
  relayExecutionInfo: V3RelayExecutionEventInfoSS,
86
104
  quoteTimestamp: (0, superstruct_1.number)(),
@@ -1 +1 @@
1
- {"version":3,"file":"SuperstructUtils.js","sourceRoot":"","sources":["../../../../../../src/clients/BundleDataClient/utils/SuperstructUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuperstructUtils.js","sourceRoot":"","sources":["../../../../../../src/clients/BundleDataClient/utils/SuperstructUtils.ts"],"names":[],"mappings":"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"}
@@ -2,30 +2,16 @@ import { JWKInterface } from "arweave/node/lib/wallet";
2
2
  import { Struct } from "superstruct";
3
3
  import winston from "winston";
4
4
  import { BigNumber } from "../../utils";
5
- export interface ArweaveGatewayConfig {
6
- host: string;
7
- protocol?: string;
8
- port?: number;
9
- }
10
- export declare const DEFAULT_ARWEAVE_GATEWAYS: ArweaveGatewayConfig[];
11
5
  export declare class ArweaveClient {
12
6
  private arweaveJWT;
13
7
  private logger;
8
+ gatewayURL: string;
9
+ protocol: string;
14
10
  private readonly retries;
15
11
  private readonly retryDelaySeconds;
16
- private gateways;
17
- constructor(arweaveJWT: JWKInterface, logger: winston.Logger, gateways?: ArweaveGatewayConfig[], retries?: number, retryDelaySeconds?: number);
18
- /**
19
- * Races a request across all gateways, returning the first successful response.
20
- * If all gateways fail, throws an error with details from each gateway.
21
- */
22
- private _raceGateways;
23
- /**
24
- * Tries gateways sequentially, returning the first successful response.
25
- * Used for write operations where we want exactly one successful submission.
26
- */
27
- private _failoverGateways;
28
- private _retryRequest;
12
+ private client;
13
+ private gatewayUrl;
14
+ constructor(arweaveJWT: JWKInterface, logger: winston.Logger, gatewayURL?: string, protocol?: string, port?: number, retries?: number, retryDelaySeconds?: number);
29
15
  /**
30
16
  * Stores an arbitrary record in the Arweave network. The record is stored as a JSON string and uses
31
17
  * JSON.stringify to convert the record to a string. The record has all of its big numbers converted
@@ -33,6 +19,7 @@ export declare class ArweaveClient {
33
19
  * @param value The value to store
34
20
  * @param topicTag An optional topic tag to add to the transaction
35
21
  * @returns The transaction ID of the stored value
22
+ * @
36
23
  */
37
24
  set(value: Record<string, unknown>, topicTag?: string | undefined): Promise<string | undefined>;
38
25
  /**
@@ -66,11 +53,11 @@ export declare class ArweaveClient {
66
53
  */
67
54
  getMetadata(transactionID: string): Promise<Record<string, string> | null>;
68
55
  /**
69
- * Returns the address of the signer of the JWT. This is a local crypto
70
- * operation and does not require a network call.
56
+ * Returns the address of the signer of the JWT
71
57
  * @returns The address of the signer in this client
72
58
  */
73
59
  getAddress(): Promise<string>;
60
+ private _retryRequest;
74
61
  /**
75
62
  * The balance of the signer
76
63
  * @returns The balance of the signer in winston units
@@ -2,94 +2,40 @@ import Arweave from "arweave";
2
2
  import { create } from "superstruct";
3
3
  import { ARWEAVE_TAG_APP_NAME, ARWEAVE_TAG_APP_VERSION, DEFAULT_ARWEAVE_STORAGE_ADDRESS } from "../../constants";
4
4
  import { BigNumber, delay, fetchWithTimeout, isDefined, jsonReplacerWithBigNumbers, toBN } from "../../utils";
5
- export const DEFAULT_ARWEAVE_GATEWAYS = [{ host: "arweave.net" }, { host: "ar-io.net" }];
6
5
  export class ArweaveClient {
7
6
  arweaveJWT;
8
7
  logger;
8
+ gatewayURL;
9
+ protocol;
9
10
  retries;
10
11
  retryDelaySeconds;
11
- gateways;
12
- constructor(arweaveJWT, logger, gateways = DEFAULT_ARWEAVE_GATEWAYS, retries = 2, retryDelaySeconds = 1) {
12
+ client;
13
+ gatewayUrl;
14
+ constructor(arweaveJWT, logger, gatewayURL = "arweave.net", protocol = "https", port = 443, retries = 2, retryDelaySeconds = 1) {
13
15
  this.arweaveJWT = arweaveJWT;
14
16
  this.logger = logger;
17
+ this.gatewayURL = gatewayURL;
18
+ this.protocol = protocol;
15
19
  this.retries = retries;
16
20
  this.retryDelaySeconds = retryDelaySeconds;
17
- if (gateways.length === 0) {
18
- throw new Error("At least one gateway must be provided");
19
- }
20
- if (this.retries < 0) {
21
- throw new Error(`retries cannot be < 0 and must be an integer. Currently set to ${this.retries}`);
22
- }
23
- if (this.retryDelaySeconds < 0) {
24
- throw new Error(`delay cannot be < 0. Currently set to ${this.retryDelaySeconds}`);
25
- }
26
- this.gateways = gateways.map(({ host, protocol = "https", port = 443 }) => ({
27
- client: new Arweave({ host, port, protocol, timeout: 20000, logging: false }),
28
- url: `${protocol}://${host}:${port}`,
29
- }));
21
+ this.gatewayUrl = `${protocol}://${gatewayURL}:${port}`;
22
+ this.client = new Arweave({
23
+ host: gatewayURL,
24
+ port,
25
+ protocol,
26
+ timeout: 20000,
27
+ logging: false,
28
+ });
30
29
  this.logger.debug({
31
30
  at: "ArweaveClient:constructor",
32
31
  message: "Arweave client initialized",
33
- gateways: this.gateways.map((g) => g.url),
32
+ gateway: this.gatewayUrl,
34
33
  });
35
- }
36
- /**
37
- * Races a request across all gateways, returning the first successful response.
38
- * If all gateways fail, throws an error with details from each gateway.
39
- */
40
- async _raceGateways(label, fn) {
41
- try {
42
- return await Promise.any(this.gateways.map((gw) => this._retryRequest(() => fn(gw), 0)));
43
- }
44
- catch (e) {
45
- if (e instanceof AggregateError) {
46
- const details = this.gateways.map((gw, i) => `${gw.url}: ${e.errors[i]}`).join("; ");
47
- throw new Error(`All Arweave gateways failed for ${label}: ${details}`);
48
- }
49
- throw e;
50
- }
51
- }
52
- /**
53
- * Tries gateways sequentially, returning the first successful response.
54
- * Used for write operations where we want exactly one successful submission.
55
- */
56
- async _failoverGateways(label, fn) {
57
- const errors = [];
58
- for (const gw of this.gateways) {
59
- try {
60
- return await this._retryRequest(() => fn(gw), 0);
61
- }
62
- catch (e) {
63
- errors.push(e);
64
- this.logger.debug({
65
- at: "ArweaveClient:failoverGateways",
66
- message: `Gateway ${gw.url} failed for ${label}, trying next: ${e}`,
67
- });
68
- }
69
- }
70
- const details = this.gateways.map((gw, i) => `${gw.url}: ${errors[i]}`).join("; ");
71
- throw new Error(`All Arweave gateways failed for ${label}: ${details}`);
72
- }
73
- async _retryRequest(request, retryCount) {
74
- try {
75
- return await request();
34
+ if (this.retries < 0) {
35
+ throw new Error(`retries cannot be < 0 and must be an integer. Currently set to ${this.retries}`);
76
36
  }
77
- catch (e) {
78
- if (retryCount < this.retries) {
79
- // Implement a slightly aggressive exponential backoff to account for fierce parallelism.
80
- const baseDelay = this.retryDelaySeconds * Math.pow(2, retryCount);
81
- const delayS = baseDelay + baseDelay * Math.random();
82
- this.logger.debug({
83
- at: "ArweaveClient:retryRequest",
84
- message: `Arweave request failed, retrying after waiting ${delayS} seconds: ${e}`,
85
- retryCount,
86
- });
87
- await delay(delayS);
88
- return this._retryRequest(request, retryCount + 1);
89
- }
90
- else {
91
- throw e;
92
- }
37
+ if (this.retryDelaySeconds < 0) {
38
+ throw new Error(`delay cannot be < 0. Currently set to ${this.retryDelaySeconds}`);
93
39
  }
94
40
  }
95
41
  /**
@@ -99,12 +45,10 @@ export class ArweaveClient {
99
45
  * @param value The value to store
100
46
  * @param topicTag An optional topic tag to add to the transaction
101
47
  * @returns The transaction ID of the stored value
48
+ * @
102
49
  */
103
50
  async set(value, topicTag) {
104
- // Get a template client to use for creating a transaction. Since clients are equal up to the gateway URL,
105
- // it does not matter which gateway is used, so we just choose the first one.
106
- const templateClient = this.gateways[0].client;
107
- const transaction = await templateClient.createTransaction({ data: JSON.stringify(value, jsonReplacerWithBigNumbers) }, this.arweaveJWT);
51
+ const transaction = await this.client.createTransaction({ data: JSON.stringify(value, jsonReplacerWithBigNumbers) }, this.arweaveJWT);
108
52
  // Add tags to the transaction
109
53
  transaction.addTag("Content-Type", "application/json");
110
54
  transaction.addTag("App-Name", ARWEAVE_TAG_APP_NAME);
@@ -113,29 +57,29 @@ export class ArweaveClient {
113
57
  transaction.addTag("Topic", topicTag);
114
58
  }
115
59
  // Sign the transaction
116
- await templateClient.transactions.sign(transaction, this.arweaveJWT);
60
+ await this.client.transactions.sign(transaction, this.arweaveJWT);
117
61
  // Send the transaction
118
- return await this._failoverGateways("set", async ({ client }) => {
119
- const result = await client.transactions.post(transaction);
120
- // Ensure that the result is successful
121
- if (result.status !== 200) {
122
- const message = result?.data?.error?.msg ?? "Unknown error";
123
- this.logger.error({
124
- at: "ArweaveClient:set",
125
- message,
126
- result,
127
- txn: transaction.id,
128
- address: await this.getAddress(),
129
- balance: (await this.getBalance()).toString(),
130
- });
131
- throw new Error(message);
132
- }
62
+ const result = await this.client.transactions.post(transaction);
63
+ // Ensure that the result is successful
64
+ if (result.status !== 200) {
65
+ const message = result?.data?.error?.msg ?? "Unknown error";
66
+ this.logger.error({
67
+ at: "ArweaveClient:set",
68
+ message,
69
+ result,
70
+ txn: transaction.id,
71
+ address: await this.getAddress(),
72
+ balance: (await this.getBalance()).toString(),
73
+ });
74
+ throw new Error(message);
75
+ }
76
+ else {
133
77
  this.logger.debug({
134
78
  at: "ArweaveClient:set",
135
79
  message: `Arweave transaction posted with ${transaction.id}`,
136
80
  });
137
- return transaction.id;
138
- });
81
+ }
82
+ return transaction.id;
139
83
  }
140
84
  /**
141
85
  * Retrieves a record from the Arweave network. The record is expected to be a JSON string and is
@@ -145,12 +89,15 @@ export class ArweaveClient {
145
89
  * @returns The record if it exists, otherwise null
146
90
  */
147
91
  async get(transactionID, validator) {
148
- // We query via fetchWithTimeout directly to the gateway URL. The reasoning behind this is
92
+ // Resolve the URL of the transaction
93
+ const transactionUrl = `${this.gatewayUrl}/${transactionID}`;
94
+ // We should query in via Axios directly to the gateway URL. The reasoning behind this is
149
95
  // that the Arweave SDK's `getData` method is too slow and does not provide a way to set a timeout.
150
96
  // Therefore, something that could take milliseconds to complete could take tens of minutes.
151
- const data = await this._raceGateways("get", async ({ url }) => {
152
- return await fetchWithTimeout(`${url}/${transactionID}`, {}, {}, 20_000);
153
- });
97
+ const request = async () => {
98
+ return await fetchWithTimeout(transactionUrl, {}, {}, 20_000);
99
+ };
100
+ const data = await this._retryRequest(request, 0);
154
101
  try {
155
102
  // We should validate the data and perform any logical coercion here.
156
103
  return create(data, validator);
@@ -189,13 +136,13 @@ export class ArweaveClient {
189
136
  ]
190
137
  ) { edges { node { id } } }
191
138
  }`;
192
- const response = await this._raceGateways("getByTopic", async ({ client }) => {
193
- const response = await client.api.post("/graphql", { query });
139
+ const response = await this._retryRequest(async () => {
140
+ const response = await this.client.api.post("/graphql", { query });
194
141
  if (!response.ok) {
195
142
  throw new Error(`Arweave GraphQL request failed with status ${response.status}`);
196
143
  }
197
144
  return response;
198
- });
145
+ }, 0);
199
146
  const entries = response?.data?.data?.transactions?.edges ?? [];
200
147
  this.logger.debug({
201
148
  at: "ArweaveClient:getByTopic",
@@ -233,9 +180,7 @@ export class ArweaveClient {
233
180
  * @returns The metadata of the transaction if it exists, otherwise null
234
181
  */
235
182
  async getMetadata(transactionID) {
236
- const transaction = await this._raceGateways("getMetadata", async ({ client }) => {
237
- return await client.transactions.get(transactionID);
238
- });
183
+ const transaction = await this.client.transactions.get(transactionID);
239
184
  if (!isDefined(transaction)) {
240
185
  return null;
241
186
  }
@@ -250,12 +195,33 @@ export class ArweaveClient {
250
195
  };
251
196
  }
252
197
  /**
253
- * Returns the address of the signer of the JWT. This is a local crypto
254
- * operation and does not require a network call.
198
+ * Returns the address of the signer of the JWT
255
199
  * @returns The address of the signer in this client
256
200
  */
257
201
  getAddress() {
258
- return this.gateways[0].client.wallets.jwkToAddress(this.arweaveJWT);
202
+ return this.client.wallets.jwkToAddress(this.arweaveJWT);
203
+ }
204
+ async _retryRequest(request, retryCount) {
205
+ try {
206
+ return await request();
207
+ }
208
+ catch (e) {
209
+ if (retryCount < this.retries) {
210
+ // Implement a slightly aggressive exponential backoff to account for fierce parallelism.
211
+ const baseDelay = this.retryDelaySeconds * Math.pow(2, retryCount); // ms; attempt = [0, 1, 2, ...]
212
+ const delayS = baseDelay + baseDelay * Math.random();
213
+ this.logger.debug({
214
+ at: "ArweaveClient:retryRequest",
215
+ message: `Arweave request failed, retrying after waiting ${delayS} seconds: ${e}`,
216
+ retryCount,
217
+ });
218
+ await delay(delayS);
219
+ return this._retryRequest(request, retryCount + 1);
220
+ }
221
+ else {
222
+ throw e;
223
+ }
224
+ }
259
225
  }
260
226
  /**
261
227
  * The balance of the signer
@@ -263,9 +229,9 @@ export class ArweaveClient {
263
229
  */
264
230
  async getBalance() {
265
231
  const address = await this.getAddress();
266
- return this._raceGateways("getBalance", async ({ client }) => {
267
- const balanceInFloat = await client.wallets.getBalance(address);
268
- // @dev The reason we add in the BN.from here is because the client.getBalance call
232
+ const request = async () => {
233
+ const balanceInFloat = await this.client.wallets.getBalance(address);
234
+ // @dev The reason we add in the BN.from into this retry loop is because the client.getBalance call
269
235
  // does not correctly throw an error if the request fails, instead it will return the error string as the
270
236
  // balanceInFloat.
271
237
  // Sometimes the balance is returned in scientific notation, so we need to
@@ -278,7 +244,8 @@ export class ArweaveClient {
278
244
  else {
279
245
  return BigNumber.from(balanceInFloat);
280
246
  }
281
- });
247
+ };
248
+ return await this._retryRequest(request, 0);
282
249
  }
283
250
  }
284
251
  //# sourceMappingURL=ArweaveClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArweaveClient.js","sourceRoot":"","sources":["../../../../../src/caching/Arweave/ArweaveClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArweaveClient.js","sourceRoot":"","sources":["../../../../../src/caching/Arweave/ArweaveClient.ts"],"names":[],"mappings":"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"}