@across-protocol/sdk 4.3.143-alpha.1 → 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,40 +45,41 @@ 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
- return await this._failoverGateways("set", async ({ client }) => {
105
- const transaction = await client.createTransaction({ data: JSON.stringify(value, jsonReplacerWithBigNumbers) }, this.arweaveJWT);
106
- // Add tags to the transaction
107
- transaction.addTag("Content-Type", "application/json");
108
- transaction.addTag("App-Name", ARWEAVE_TAG_APP_NAME);
109
- transaction.addTag("App-Version", ARWEAVE_TAG_APP_VERSION.toString());
110
- if (isDefined(topicTag)) {
111
- transaction.addTag("Topic", topicTag);
112
- }
113
- // Sign the transaction
114
- await client.transactions.sign(transaction, this.arweaveJWT);
115
- // Send the transaction
116
- const result = await client.transactions.post(transaction);
117
- // Ensure that the result is successful
118
- if (result.status !== 200) {
119
- const message = result?.data?.error?.msg ?? "Unknown error";
120
- this.logger.error({
121
- at: "ArweaveClient:set",
122
- message,
123
- result,
124
- txn: transaction.id,
125
- address: await this.getAddress(),
126
- balance: (await this.getBalance()).toString(),
127
- });
128
- throw new Error(message);
129
- }
51
+ const transaction = await this.client.createTransaction({ data: JSON.stringify(value, jsonReplacerWithBigNumbers) }, this.arweaveJWT);
52
+ // Add tags to the transaction
53
+ transaction.addTag("Content-Type", "application/json");
54
+ transaction.addTag("App-Name", ARWEAVE_TAG_APP_NAME);
55
+ transaction.addTag("App-Version", ARWEAVE_TAG_APP_VERSION.toString());
56
+ if (isDefined(topicTag)) {
57
+ transaction.addTag("Topic", topicTag);
58
+ }
59
+ // Sign the transaction
60
+ await this.client.transactions.sign(transaction, this.arweaveJWT);
61
+ // Send the transaction
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 {
130
77
  this.logger.debug({
131
78
  at: "ArweaveClient:set",
132
79
  message: `Arweave transaction posted with ${transaction.id}`,
133
80
  });
134
- return transaction.id;
135
- });
81
+ }
82
+ return transaction.id;
136
83
  }
137
84
  /**
138
85
  * Retrieves a record from the Arweave network. The record is expected to be a JSON string and is
@@ -142,12 +89,15 @@ export class ArweaveClient {
142
89
  * @returns The record if it exists, otherwise null
143
90
  */
144
91
  async get(transactionID, validator) {
145
- // 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
146
95
  // that the Arweave SDK's `getData` method is too slow and does not provide a way to set a timeout.
147
96
  // Therefore, something that could take milliseconds to complete could take tens of minutes.
148
- const data = await this._raceGateways("get", async ({ url }) => {
149
- return await fetchWithTimeout(`${url}/${transactionID}`, {}, {}, 20_000);
150
- });
97
+ const request = async () => {
98
+ return await fetchWithTimeout(transactionUrl, {}, {}, 20_000);
99
+ };
100
+ const data = await this._retryRequest(request, 0);
151
101
  try {
152
102
  // We should validate the data and perform any logical coercion here.
153
103
  return create(data, validator);
@@ -186,13 +136,13 @@ export class ArweaveClient {
186
136
  ]
187
137
  ) { edges { node { id } } }
188
138
  }`;
189
- const response = await this._raceGateways("getByTopic", async ({ client }) => {
190
- 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 });
191
141
  if (!response.ok) {
192
142
  throw new Error(`Arweave GraphQL request failed with status ${response.status}`);
193
143
  }
194
144
  return response;
195
- });
145
+ }, 0);
196
146
  const entries = response?.data?.data?.transactions?.edges ?? [];
197
147
  this.logger.debug({
198
148
  at: "ArweaveClient:getByTopic",
@@ -230,9 +180,7 @@ export class ArweaveClient {
230
180
  * @returns The metadata of the transaction if it exists, otherwise null
231
181
  */
232
182
  async getMetadata(transactionID) {
233
- const transaction = await this._raceGateways("getMetadata", async ({ client }) => {
234
- return await client.transactions.get(transactionID);
235
- });
183
+ const transaction = await this.client.transactions.get(transactionID);
236
184
  if (!isDefined(transaction)) {
237
185
  return null;
238
186
  }
@@ -247,12 +195,33 @@ export class ArweaveClient {
247
195
  };
248
196
  }
249
197
  /**
250
- * Returns the address of the signer of the JWT. This is a local crypto
251
- * operation and does not require a network call.
198
+ * Returns the address of the signer of the JWT
252
199
  * @returns The address of the signer in this client
253
200
  */
254
201
  getAddress() {
255
- 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
+ }
256
225
  }
257
226
  /**
258
227
  * The balance of the signer
@@ -260,9 +229,9 @@ export class ArweaveClient {
260
229
  */
261
230
  async getBalance() {
262
231
  const address = await this.getAddress();
263
- return this._raceGateways("getBalance", async ({ client }) => {
264
- const balanceInFloat = await client.wallets.getBalance(address);
265
- // @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
266
235
  // does not correctly throw an error if the request fails, instead it will return the error string as the
267
236
  // balanceInFloat.
268
237
  // Sometimes the balance is returned in scientific notation, so we need to
@@ -275,7 +244,8 @@ export class ArweaveClient {
275
244
  else {
276
245
  return BigNumber.from(balanceInFloat);
277
246
  }
278
- });
247
+ };
248
+ return await this._retryRequest(request, 0);
279
249
  }
280
250
  }
281
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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"}