@armory-sh/client-web3 0.2.16 → 0.2.17-alpha.3.13
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/dist/index.js +12 -64
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { Web3 } from 'web3';
|
|
2
|
+
import { encodePaymentV2, validatePaymentConfig, isValidationError, resolveNetwork, resolveToken, V2_HEADERS, getNetworkConfig, getNetworkByChainId, combineSignatureV2, networkToCaip2, isX402V2PaymentRequired } from '@armory-sh/base';
|
|
3
|
+
|
|
1
4
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
5
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
6
|
}) : x)(function(x) {
|
|
@@ -5,17 +8,6 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
5
8
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
9
|
});
|
|
7
10
|
|
|
8
|
-
// src/client.ts
|
|
9
|
-
import { Web3 } from "web3";
|
|
10
|
-
import {
|
|
11
|
-
getNetworkConfig,
|
|
12
|
-
getNetworkByChainId,
|
|
13
|
-
encodePaymentV2,
|
|
14
|
-
networkToCaip2,
|
|
15
|
-
combineSignatureV2,
|
|
16
|
-
V2_HEADERS as V2_HEADERS2
|
|
17
|
-
} from "@armory-sh/base";
|
|
18
|
-
|
|
19
11
|
// src/eip3009.ts
|
|
20
12
|
var USDC_DOMAIN = {
|
|
21
13
|
NAME: "USD Coin",
|
|
@@ -111,12 +103,6 @@ var signWithPrivateKey = async (_privateKey, _domain, _message) => {
|
|
|
111
103
|
"Direct private key signing not implemented. Use wallet provider's signTypedData method instead."
|
|
112
104
|
);
|
|
113
105
|
};
|
|
114
|
-
|
|
115
|
-
// src/protocol.ts
|
|
116
|
-
import {
|
|
117
|
-
V2_HEADERS,
|
|
118
|
-
isX402V2PaymentRequired
|
|
119
|
-
} from "@armory-sh/base";
|
|
120
106
|
var detectX402Version = (_response, _fallbackVersion = 2) => {
|
|
121
107
|
return 2;
|
|
122
108
|
};
|
|
@@ -299,8 +285,7 @@ var createX402Client = (config) => {
|
|
|
299
285
|
const fetch2 = async (url, init) => {
|
|
300
286
|
let response = await fetch2(url, init);
|
|
301
287
|
if (response.status === 402) {
|
|
302
|
-
const
|
|
303
|
-
const parsed = await parsePaymentRequired(response, version);
|
|
288
|
+
const parsed = await parsePaymentRequired(response);
|
|
304
289
|
const selectedRequirements = parsed.requirements[0];
|
|
305
290
|
if (!selectedRequirements) {
|
|
306
291
|
throw new Error("No supported payment scheme found in requirements");
|
|
@@ -318,7 +303,7 @@ var createX402Client = (config) => {
|
|
|
318
303
|
accepted: req
|
|
319
304
|
});
|
|
320
305
|
const paymentHeaders = new Headers(init?.headers);
|
|
321
|
-
paymentHeaders.set(
|
|
306
|
+
paymentHeaders.set(V2_HEADERS.PAYMENT_SIGNATURE, encodePaymentV2(result.payload));
|
|
322
307
|
response = await fetch2(url, { ...init, headers: paymentHeaders });
|
|
323
308
|
}
|
|
324
309
|
return response;
|
|
@@ -371,16 +356,10 @@ var createX402Client = (config) => {
|
|
|
371
356
|
}
|
|
372
357
|
};
|
|
373
358
|
};
|
|
374
|
-
|
|
375
|
-
// src/transport.ts
|
|
376
|
-
import {
|
|
377
|
-
V2_HEADERS as V2_HEADERS3,
|
|
378
|
-
encodePaymentV2 as encodePaymentV22
|
|
379
|
-
} from "@armory-sh/base";
|
|
380
359
|
var DEFAULT_MAX_RETRIES = 3;
|
|
381
360
|
var createPaymentHeaders = (payload, _version) => {
|
|
382
361
|
const headers = new Headers();
|
|
383
|
-
headers.set(
|
|
362
|
+
headers.set(V2_HEADERS.PAYMENT_SIGNATURE, encodePaymentV2(payload));
|
|
384
363
|
return headers;
|
|
385
364
|
};
|
|
386
365
|
var isPaymentRelatedError = (error) => error.message.includes("402") || error.message.includes("payment") || error.message.includes("signature") || error.message.includes("Payment");
|
|
@@ -390,15 +369,15 @@ var backoff = (attempt) => {
|
|
|
390
369
|
return new Promise((resolve) => setTimeout(resolve, baseDelay + jitter));
|
|
391
370
|
};
|
|
392
371
|
var handlePaymentRequired = async (response, client) => {
|
|
393
|
-
|
|
394
|
-
const parsed = await parsePaymentRequired(response
|
|
372
|
+
detectX402Version(response, client.getVersion());
|
|
373
|
+
const parsed = await parsePaymentRequired(response);
|
|
395
374
|
const selectedRequirements = parsed.requirements[0];
|
|
396
375
|
if (!selectedRequirements) {
|
|
397
376
|
throw new Error("No supported payment scheme found in requirements");
|
|
398
377
|
}
|
|
399
378
|
const req = selectedRequirements;
|
|
400
379
|
const result = await client.handlePaymentRequired(req);
|
|
401
|
-
return createPaymentHeaders(result.payload
|
|
380
|
+
return createPaymentHeaders(result.payload);
|
|
402
381
|
};
|
|
403
382
|
var mergePaymentHeaders = (init = {}, paymentHeaders) => {
|
|
404
383
|
const existingHeaders = new Headers(init.headers);
|
|
@@ -440,14 +419,6 @@ var createX402Transport = (options) => {
|
|
|
440
419
|
}
|
|
441
420
|
};
|
|
442
421
|
};
|
|
443
|
-
|
|
444
|
-
// src/payment-api.ts
|
|
445
|
-
import {
|
|
446
|
-
resolveNetwork,
|
|
447
|
-
resolveToken,
|
|
448
|
-
validatePaymentConfig,
|
|
449
|
-
isValidationError
|
|
450
|
-
} from "@armory-sh/base";
|
|
451
422
|
var normalizeWallet = (wallet) => {
|
|
452
423
|
if (typeof wallet === "object" && wallet !== null && "account" in wallet) {
|
|
453
424
|
return wallet.account;
|
|
@@ -585,7 +556,7 @@ var normalizeArmoryConfig = (config) => ({
|
|
|
585
556
|
debug: config.debug ?? false
|
|
586
557
|
});
|
|
587
558
|
var createArmory = (config) => {
|
|
588
|
-
|
|
559
|
+
normalizeArmoryConfig(config);
|
|
589
560
|
const makeRequest = async (url, method, body) => {
|
|
590
561
|
try {
|
|
591
562
|
const headers = new Headers();
|
|
@@ -628,28 +599,5 @@ var createArmory = (config) => {
|
|
|
628
599
|
call: (url) => makeRequest(url, "GET")
|
|
629
600
|
};
|
|
630
601
|
};
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
armoryDelete,
|
|
634
|
-
armoryGet,
|
|
635
|
-
armoryPatch,
|
|
636
|
-
armoryPay,
|
|
637
|
-
armoryPost,
|
|
638
|
-
armoryPut,
|
|
639
|
-
concatenateSignature,
|
|
640
|
-
createArmory,
|
|
641
|
-
createEIP712Domain,
|
|
642
|
-
createTransferWithAuthorization,
|
|
643
|
-
createX402Client,
|
|
644
|
-
createX402Transport,
|
|
645
|
-
getNetworks,
|
|
646
|
-
getTokens,
|
|
647
|
-
getWalletAddress,
|
|
648
|
-
normalizeWallet,
|
|
649
|
-
parseSignature,
|
|
650
|
-
signTypedData,
|
|
651
|
-
signWithPrivateKey,
|
|
652
|
-
validateNetwork,
|
|
653
|
-
validateToken,
|
|
654
|
-
validateTransferWithAuthorization
|
|
655
|
-
};
|
|
602
|
+
|
|
603
|
+
export { adjustVForChainId, armoryDelete, armoryGet, armoryPatch, armoryPay, armoryPost, armoryPut, concatenateSignature, createArmory, createEIP712Domain, createTransferWithAuthorization, createX402Client, createX402Transport, getNetworks, getTokens, getWalletAddress, normalizeWallet, parseSignature, signTypedData, signWithPrivateKey, validateNetwork, validateToken, validateTransferWithAuthorization };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@armory-sh/client-web3",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.17-alpha.3.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Sawyer Cutler <sawyer@dirtroad.dev>",
|
|
6
6
|
"type": "module",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
26
|
-
"url": "git+https://github.com/
|
|
26
|
+
"url": "git+https://github.com/TheGreatAxios/armory.git",
|
|
27
27
|
"directory": "packages/client-web3"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@armory-sh/base": "^0.2.
|
|
30
|
+
"@armory-sh/base": "^0.2.21",
|
|
31
31
|
"web3": "4.16.0",
|
|
32
32
|
"web3-types": "1.10.0"
|
|
33
33
|
},
|