@coinbase/cdp-core 0.0.19 → 0.0.20

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 (75) hide show
  1. package/README.md +13 -5
  2. package/dist/esm/index104.js +1 -1
  3. package/dist/esm/index13.js +9 -3
  4. package/dist/esm/index15.js +8 -8
  5. package/dist/esm/index16.js +2 -2
  6. package/dist/esm/index17.js +158 -39
  7. package/dist/esm/index18.js +47 -16
  8. package/dist/esm/index19.js +152 -4
  9. package/dist/esm/index20.js +56 -5
  10. package/dist/esm/index21.js +39 -158
  11. package/dist/esm/index22.js +16 -47
  12. package/dist/esm/index23.js +4 -152
  13. package/dist/esm/index24.js +5 -56
  14. package/dist/esm/index25.js +12 -8
  15. package/dist/esm/index26.js +11 -17
  16. package/dist/esm/index27.js +8 -45
  17. package/dist/esm/index28.js +17 -13
  18. package/dist/esm/index29.js +40 -50
  19. package/dist/esm/index3.js +4 -4
  20. package/dist/esm/index30.js +13 -6
  21. package/dist/esm/index31.js +54 -20
  22. package/dist/esm/index32.js +6 -11
  23. package/dist/esm/index33.js +21 -3
  24. package/dist/esm/index34.js +3 -3
  25. package/dist/esm/index35.js +3 -34
  26. package/dist/esm/index36.js +32 -10
  27. package/dist/esm/index37.js +12 -4
  28. package/dist/esm/index38.js +4 -28
  29. package/dist/esm/index39.js +28 -6
  30. package/dist/esm/index40.js +6 -24
  31. package/dist/esm/index41.js +24 -16
  32. package/dist/esm/index42.js +16 -54
  33. package/dist/esm/index43.js +53 -22
  34. package/dist/esm/index44.js +23 -11
  35. package/dist/esm/index45.js +10 -26
  36. package/dist/esm/index46.js +26 -41
  37. package/dist/esm/index47.js +41 -54
  38. package/dist/esm/index48.js +54 -126
  39. package/dist/esm/index49.js +126 -11
  40. package/dist/esm/index50.js +9 -101
  41. package/dist/esm/index51.js +104 -6
  42. package/dist/esm/index52.js +7 -3
  43. package/dist/esm/index53.js +3 -15
  44. package/dist/esm/index54.js +14 -42
  45. package/dist/esm/index55.js +38 -74
  46. package/dist/esm/index56.js +79 -2
  47. package/dist/esm/index57.js +2 -2
  48. package/dist/esm/index58.js +2 -13
  49. package/dist/esm/index59.js +2 -2
  50. package/dist/esm/index6.js +4 -4
  51. package/dist/esm/index60.js +1 -1
  52. package/dist/esm/index61.js +1 -1
  53. package/dist/esm/index62.js +2 -2
  54. package/dist/esm/index63.js +2 -2
  55. package/dist/esm/index64.js +1 -1
  56. package/dist/esm/index65.js +1 -1
  57. package/dist/esm/index66.js +3 -3
  58. package/dist/esm/index70.js +17 -2
  59. package/dist/esm/index71.js +19 -17
  60. package/dist/esm/index72.js +47 -13
  61. package/dist/esm/index73.js +102 -21
  62. package/dist/esm/index74.js +71 -43
  63. package/dist/esm/index75.js +80 -20
  64. package/dist/esm/index76.js +2 -80
  65. package/dist/esm/index77.js +17 -100
  66. package/dist/esm/index78.js +18 -31
  67. package/dist/esm/index79.js +32 -6
  68. package/dist/esm/index80.js +6 -78
  69. package/dist/esm/index82.js +1 -1
  70. package/dist/esm/index89.js +4 -4
  71. package/dist/esm/index90.js +5 -5
  72. package/dist/esm/index95.js +1 -1
  73. package/dist/esm/index98.js +1 -1
  74. package/dist/types/index.d.ts +6 -2
  75. package/package.json +3 -3
@@ -1,162 +1,43 @@
1
- const H = (m) => (h, n, r) => {
2
- const s = r.subscribe;
3
- return r.subscribe = (c, i, a) => {
4
- let l = c;
5
- if (i) {
6
- const g = a?.equalityFn || Object.is;
7
- let v = c(r.getState());
8
- l = (f) => {
9
- const u = c(f);
10
- if (!g(v, u)) {
11
- const y = v;
12
- i(v = u, y);
13
- }
14
- }, a?.fireImmediately && i(v, v);
15
- }
16
- return s(l);
17
- }, m(h, n, r);
18
- }, R = H;
19
- function F(m, h) {
20
- let n;
21
- try {
22
- n = m();
23
- } catch {
24
- return;
1
+ import { CompactSign as i } from "./index70.js";
2
+ import { JWTInvalid as r } from "./index71.js";
3
+ import { JWTClaimsBuilder as n } from "./index72.js";
4
+ class d {
5
+ #s;
6
+ #t;
7
+ constructor(t = {}) {
8
+ this.#t = new n(t);
25
9
  }
26
- return {
27
- getItem: (s) => {
28
- var e;
29
- const c = (a) => a === null ? null : JSON.parse(a, void 0), i = (e = n.getItem(s)) != null ? e : null;
30
- return i instanceof Promise ? i.then(c) : c(i);
31
- },
32
- setItem: (s, e) => n.setItem(s, JSON.stringify(e, void 0)),
33
- removeItem: (s) => n.removeItem(s)
34
- };
35
- }
36
- const p = (m) => (h) => {
37
- try {
38
- const n = m(h);
39
- return n instanceof Promise ? n : {
40
- then(r) {
41
- return p(r)(n);
42
- },
43
- catch(r) {
44
- return this;
45
- }
46
- };
47
- } catch (n) {
48
- return {
49
- then(r) {
50
- return this;
51
- },
52
- catch(r) {
53
- return p(r)(n);
54
- }
55
- };
10
+ setIssuer(t) {
11
+ return this.#t.iss = t, this;
12
+ }
13
+ setSubject(t) {
14
+ return this.#t.sub = t, this;
15
+ }
16
+ setAudience(t) {
17
+ return this.#t.aud = t, this;
18
+ }
19
+ setJti(t) {
20
+ return this.#t.jti = t, this;
21
+ }
22
+ setNotBefore(t) {
23
+ return this.#t.nbf = t, this;
56
24
  }
57
- }, O = (m, h) => (n, r, s) => {
58
- let e = {
59
- storage: F(() => localStorage),
60
- partialize: (t) => t,
61
- version: 0,
62
- merge: (t, S) => ({
63
- ...S,
64
- ...t
65
- }),
66
- ...h
67
- }, c = !1;
68
- const i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
69
- let l = e.storage;
70
- if (!l)
71
- return m(
72
- (...t) => {
73
- console.warn(
74
- `[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
75
- ), n(...t);
76
- },
77
- r,
78
- s
79
- );
80
- const g = () => {
81
- const t = e.partialize({ ...r() });
82
- return l.setItem(e.name, {
83
- state: t,
84
- version: e.version
85
- });
86
- }, v = s.setState;
87
- s.setState = (t, S) => {
88
- v(t, S), g();
89
- };
90
- const f = m(
91
- (...t) => {
92
- n(...t), g();
93
- },
94
- r,
95
- s
96
- );
97
- s.getInitialState = () => f;
98
- let u;
99
- const y = () => {
100
- var t, S;
101
- if (!l) return;
102
- c = !1, i.forEach((o) => {
103
- var d;
104
- return o((d = r()) != null ? d : f);
105
- });
106
- const b = ((S = e.onRehydrateStorage) == null ? void 0 : S.call(e, (t = r()) != null ? t : f)) || void 0;
107
- return p(l.getItem.bind(l))(e.name).then((o) => {
108
- if (o)
109
- if (typeof o.version == "number" && o.version !== e.version) {
110
- if (e.migrate) {
111
- const d = e.migrate(
112
- o.state,
113
- o.version
114
- );
115
- return d instanceof Promise ? d.then((I) => [!0, I]) : [!0, d];
116
- }
117
- console.error(
118
- "State loaded from storage couldn't be migrated since no migrate function was provided"
119
- );
120
- } else
121
- return [!1, o.state];
122
- return [!1, void 0];
123
- }).then((o) => {
124
- var d;
125
- const [I, _] = o;
126
- if (u = e.merge(
127
- _,
128
- (d = r()) != null ? d : f
129
- ), n(u, !0), I)
130
- return g();
131
- }).then(() => {
132
- b?.(u, void 0), u = r(), c = !0, a.forEach((o) => o(u));
133
- }).catch((o) => {
134
- b?.(void 0, o);
135
- });
136
- };
137
- return s.persist = {
138
- setOptions: (t) => {
139
- e = {
140
- ...e,
141
- ...t
142
- }, t.storage && (l = t.storage);
143
- },
144
- clearStorage: () => {
145
- l?.removeItem(e.name);
146
- },
147
- getOptions: () => e,
148
- rehydrate: () => y(),
149
- hasHydrated: () => c,
150
- onHydrate: (t) => (i.add(t), () => {
151
- i.delete(t);
152
- }),
153
- onFinishHydration: (t) => (a.add(t), () => {
154
- a.delete(t);
155
- })
156
- }, e.skipHydration || y(), u || f;
157
- }, w = O;
25
+ setExpirationTime(t) {
26
+ return this.#t.exp = t, this;
27
+ }
28
+ setIssuedAt(t) {
29
+ return this.#t.iat = t, this;
30
+ }
31
+ setProtectedHeader(t) {
32
+ return this.#s = t, this;
33
+ }
34
+ async sign(t, e) {
35
+ const s = new i(this.#t.data());
36
+ if (s.setProtectedHeader(this.#s), Array.isArray(this.#s?.crit) && this.#s.crit.includes("b64") && this.#s.b64 === !1)
37
+ throw new r("JWTs MUST NOT use unencoded payload");
38
+ return s.sign(t, e);
39
+ }
40
+ }
158
41
  export {
159
- F as createJSONStorage,
160
- w as persist,
161
- R as subscribeWithSelector
42
+ d as SignJWT
162
43
  };
@@ -1,50 +1,19 @@
1
- class n {
2
- events = {};
3
- /**
4
- * Add an event listener.
5
- *
6
- * @param event - The name of the event to listen for.
7
- * @param listener - The function to call when the event is emitted.
8
- */
9
- on(e, s) {
10
- this.events[e] || (this.events[e] = []), this.events[e].push(s);
11
- }
12
- /**
13
- * Remove an event listener.
14
- *
15
- * @param event - The name of the event to remove the listener from.
16
- * @param listener - The function to remove from the event listeners.
17
- */
18
- removeListener(e, s) {
19
- if (!this.events[e])
20
- return;
21
- const t = this.events[e].indexOf(s);
22
- t > -1 && this.events[e].splice(t, 1);
23
- }
24
- /**
25
- * Emit an event.
26
- *
27
- * @param event - The name of the event to emit.
28
- * @param args - The arguments to pass to the event listeners.
29
- */
30
- emit(e, ...s) {
31
- this.events[e] && this.events[e].forEach((t) => {
32
- try {
33
- t(...s);
34
- } catch (i) {
35
- console.error(`Error in event listener for ${e}:`, i);
36
- }
37
- });
38
- }
39
- /**
40
- * Remove all listeners for an event.
41
- *
42
- * @param event - The name of the event to remove all listeners from. If not provided, removes all listeners for all events.
43
- */
44
- removeAllListeners(e) {
45
- e ? delete this.events[e] : this.events = {};
46
- }
1
+ async function n() {
2
+ const e = await window.crypto.subtle.generateKey(
3
+ {
4
+ name: "ECDSA",
5
+ namedCurve: "P-256"
6
+ // secp256r1
7
+ },
8
+ !1,
9
+ // Do not allow key export.
10
+ ["sign", "verify"]
11
+ // Key usages
12
+ ), r = await window.crypto.subtle.exportKey("spki", e.publicKey), t = new Uint8Array(r), a = btoa(
13
+ Array.from(t).map((i) => String.fromCharCode(i)).join("")
14
+ );
15
+ return { privateKey: e.privateKey, publicKeyBase64: a };
47
16
  }
48
17
  export {
49
- n as EventEmitter
18
+ n as createKeyPair
50
19
  };
@@ -1,155 +1,7 @@
1
- import { Hex as y } from "ox";
2
- import { createWalletClient as I } from "viem";
3
- import { signEvmTypedData as E, signEvmHash as S, getCurrentUser as f, signOut as P, sendEvmTransaction as R, signEvmTransaction as T, signEvmMessage as A } from "./index2.js";
4
- import "@coinbase/cdp-api-client";
5
- import "./index3.js";
6
- import { validateUserOwnsAddress as m, EIP1193ProviderError as l, STANDARD_ERROR_CODES as s, RPCRequestError as o, validateUserHasEvmAccount as x, validateUserConnected as C } from "./index4.js";
7
- import "zustand";
8
- import { isChainIdSupportedForCDPSends as D, chainIdToNameMapping as b } from "./index13.js";
9
- function g(e) {
10
- return {
11
- to: e.to,
12
- data: e.data,
13
- value: e.value ? BigInt(e.value) : void 0,
14
- nonce: e.nonce ? Number(e.nonce) : void 0,
15
- gas: e.gas ? BigInt(e.gas) : void 0,
16
- maxFeePerGas: e.maxFeePerGas ? BigInt(e.maxFeePerGas) : void 0,
17
- maxPriorityFeePerGas: e.maxPriorityFeePerGas ? BigInt(e.maxPriorityFeePerGas) : void 0,
18
- type: "eip1559"
19
- };
20
- }
21
- async function M() {
22
- return (await f())?.evmAccounts || [];
23
- }
24
- async function _(e, n) {
25
- const a = await C();
26
- return e.emit("connect", {
27
- chainId: y.fromNumber(n.getState().chainId)
28
- }), a.evmAccounts || [];
29
- }
30
- async function k(e) {
31
- const [n, a] = e;
32
- await m(a);
33
- const t = Buffer.from(n.slice(2), "hex").toString();
34
- try {
35
- return (await A({
36
- evmAccount: a,
37
- message: t
38
- })).signature;
39
- } catch (c) {
40
- throw new l(
41
- s.provider.userRejectedRequest,
42
- c instanceof Error ? c.message : "Signing failed"
43
- );
44
- }
45
- }
46
- async function z(e) {
47
- const [n, a] = e;
48
- await m(n);
49
- try {
50
- return (await E({
51
- evmAccount: n,
52
- typedData: JSON.parse(a)
53
- })).signature;
54
- } catch (t) {
55
- throw new l(
56
- s.provider.userRejectedRequest,
57
- t instanceof Error ? t.message : "Signing failed"
58
- );
59
- }
60
- }
61
- async function J(e, n, a) {
62
- const [t] = e;
63
- if (!t || typeof t != "object")
64
- throw new o(
65
- s.rpc.invalidParams,
66
- "Transaction parameter must be an object"
67
- );
68
- if (!t.to)
69
- throw new o(
70
- s.rpc.invalidParams,
71
- "Transaction must include 'to' field"
72
- );
73
- const d = (await x()).evmAccounts?.[0], u = n.getState(), i = t.chainId ? Number(t.chainId) : u.chainId;
74
- if (!d)
75
- throw new o(
76
- s.rpc.invalidParams,
77
- "User does not have an EVM account"
78
- );
79
- if (D(i))
80
- try {
81
- return (await R({
82
- evmAccount: d,
83
- transaction: { ...g(t), chainId: i },
84
- network: b[i]
85
- })).transactionHash;
86
- } catch (r) {
87
- throw console.log("Transaction failed", r), new o(
88
- s.rpc.transactionRejected,
89
- r instanceof Error ? r.message : "Transaction failed"
90
- );
91
- }
92
- else
93
- try {
94
- const r = I({
95
- // Safe as we check before calling this handler that chainId is configured
96
- chain: u.chains.find((h) => h.id === i),
97
- transport: a[i],
98
- account: d
99
- }), p = u.chains.find((h) => h.id === i), w = await r.prepareTransactionRequest({
100
- ...g(t),
101
- chain: p
102
- }), v = await T({
103
- evmAccount: d,
104
- transaction: {
105
- ...w,
106
- type: "eip1559"
107
- }
108
- });
109
- return await r.sendRawTransaction({
110
- serializedTransaction: v.signedTransaction
111
- });
112
- } catch (r) {
113
- throw new o(
114
- s.rpc.transactionRejected,
115
- r instanceof Error ? r.message : "Transaction failed"
116
- );
117
- }
118
- }
119
- async function V(e) {
120
- const [n, a] = e;
121
- await m(a);
122
- try {
123
- return (await S({
124
- evmAccount: a,
125
- hash: n
126
- })).signature;
127
- } catch (t) {
128
- throw new l(
129
- s.provider.userRejectedRequest,
130
- t instanceof Error ? t.message : "Signing failed"
131
- );
132
- }
133
- }
134
- async function W(e) {
135
- return `0x${e.getState().chainId.toString(16)}`;
136
- }
137
- async function $() {
138
- await f() && await P();
139
- }
140
- function K(e, n) {
141
- const a = Number.parseInt(e[0].chainId, 16);
142
- n.getState().setChainId(a);
1
+ async function t() {
2
+ const r = new Uint8Array(16);
3
+ return window.crypto.getRandomValues(r), Array.from(r, (n) => n.toString(16).padStart(2, "0")).join("");
143
4
  }
144
5
  export {
145
- M as handleAccounts,
146
- W as handleChainId,
147
- $ as handleDisconnect,
148
- V as handleEthSign,
149
- k as handlePersonalSign,
150
- _ as handleRequestAccounts,
151
- J as handleSendTransaction,
152
- z as handleSignTypedData,
153
- K as handleSwitchEthereumChain,
154
- g as shimProviderTxRequest
6
+ t as generateRandomId
155
7
  };
@@ -1,58 +1,7 @@
1
- import { chainConfig as a } from "./index81.js";
2
- import { defineChain as t } from "./index25.js";
3
- const e = 11155111, r = /* @__PURE__ */ t({
4
- ...a,
5
- id: 84532,
6
- network: "base-sepolia",
7
- name: "Base Sepolia",
8
- nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
9
- rpcUrls: {
10
- default: {
11
- http: ["https://sepolia.base.org"]
12
- }
13
- },
14
- blockExplorers: {
15
- default: {
16
- name: "Basescan",
17
- url: "https://sepolia.basescan.org",
18
- apiUrl: "https://api-sepolia.basescan.org/api"
19
- }
20
- },
21
- contracts: {
22
- ...a.contracts,
23
- disputeGameFactory: {
24
- [e]: {
25
- address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"
26
- }
27
- },
28
- l2OutputOracle: {
29
- [e]: {
30
- address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"
31
- }
32
- },
33
- portal: {
34
- [e]: {
35
- address: "0x49f53e41452c74589e85ca1677426ba426459e85",
36
- blockCreated: 4446677
37
- }
38
- },
39
- l1StandardBridge: {
40
- [e]: {
41
- address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120",
42
- blockCreated: 4446677
43
- }
44
- },
45
- multicall3: {
46
- address: "0xca11bde05977b3631167028862be2a173976ca11",
47
- blockCreated: 1059647
48
- }
49
- },
50
- testnet: !0,
51
- sourceId: e
52
- });
53
- ({
54
- ...r
55
- });
1
+ const h = async (t) => {
2
+ const a = await window.crypto.subtle.digest("SHA-256", t), r = new Uint8Array(a);
3
+ return Array.from(r).map((s) => s.toString(16).padStart(2, "0")).join("");
4
+ };
56
5
  export {
57
- r as baseSepolia
6
+ h as hash
58
7
  };
@@ -1,11 +1,15 @@
1
- function n(e) {
2
- return {
3
- formatters: void 0,
4
- fees: void 0,
5
- serializers: void 0,
6
- ...e
7
- };
1
+ import { BaseError as r } from "./index48.js";
2
+ class d extends r {
3
+ constructor({ address: s }) {
4
+ super(`Address "${s}" is invalid.`, {
5
+ metaMessages: [
6
+ "- Address must be a hex value of 20 bytes (40 hex characters).",
7
+ "- Address must match its checksum counterpart."
8
+ ],
9
+ name: "InvalidAddressError"
10
+ });
11
+ }
8
12
  }
9
13
  export {
10
- n as defineChain
14
+ d as InvalidAddressError
11
15
  };
@@ -1,20 +1,14 @@
1
- import { toHex as i } from "./index27.js";
2
- import { toYParitySignatureArray as c } from "./index15.js";
3
- function f(r) {
4
- if (!r || r.length === 0)
5
- return [];
6
- const t = [];
7
- for (const o of r) {
8
- const { chainId: n, nonce: e, ...s } = o, a = o.address;
9
- t.push([
10
- n ? i(n) : "0x",
11
- a,
12
- e ? i(e) : "0x",
13
- ...c({}, s)
14
- ]);
15
- }
16
- return t;
1
+ import { LruMap as u } from "./index33.js";
2
+ import { checksumAddress as c } from "./index30.js";
3
+ const i = /^0x[a-fA-F0-9]{40}$/, r = /* @__PURE__ */ new u(8192);
4
+ function h(t, s) {
5
+ const { strict: n = !0 } = s ?? {}, e = `${t}.${n}`;
6
+ if (r.has(e))
7
+ return r.get(e);
8
+ const o = i.test(t) ? t.toLowerCase() === t ? !0 : n ? c(t) === t : !0 : !1;
9
+ return r.set(e, o), o;
17
10
  }
18
11
  export {
19
- f as serializeAuthorizationList
12
+ h as isAddress,
13
+ r as isAddressCache
20
14
  };
@@ -1,48 +1,11 @@
1
- import { IntegerOutOfRangeError as x } from "./index49.js";
2
- import { pad as s } from "./index35.js";
3
- import { assertSize as c } from "./index43.js";
4
- const b = /* @__PURE__ */ Array.from({ length: 256 }, (n, e) => e.toString(16).padStart(2, "0"));
5
- function B(n, e = {}) {
6
- return typeof n == "number" || typeof n == "bigint" ? y(n, e) : typeof n == "string" ? $(n, e) : typeof n == "boolean" ? z(n, e) : m(n, e);
7
- }
8
- function z(n, e = {}) {
9
- const t = `0x${Number(n)}`;
10
- return typeof e.size == "number" ? (c(t, { size: e.size }), s(t, { size: e.size })) : t;
11
- }
12
- function m(n, e = {}) {
13
- let t = "";
14
- for (let i = 0; i < n.length; i++)
15
- t += b[n[i]];
16
- const r = `0x${t}`;
17
- return typeof e.size == "number" ? (c(r, { size: e.size }), s(r, { dir: "right", size: e.size })) : r;
18
- }
19
- function y(n, e = {}) {
20
- const { signed: t, size: r } = e, i = BigInt(n);
21
- let o;
22
- r ? t ? o = (1n << BigInt(r) * 8n - 1n) - 1n : o = 2n ** (BigInt(r) * 8n) - 1n : typeof n == "number" && (o = BigInt(Number.MAX_SAFE_INTEGER));
23
- const g = typeof o == "bigint" && t ? -o - 1n : 0;
24
- if (o && i > o || i < g) {
25
- const f = typeof n == "bigint" ? "n" : "";
26
- throw new x({
27
- max: o ? `${o}${f}` : void 0,
28
- min: `${g}${f}`,
29
- signed: t,
30
- size: r,
31
- value: `${n}${f}`
32
- });
33
- }
34
- const u = `0x${(t && i < 0 ? (1n << BigInt(r * 8)) + BigInt(i) : i).toString(16)}`;
35
- return r ? s(u, { size: r }) : u;
36
- }
37
- const d = /* @__PURE__ */ new TextEncoder();
38
- function $(n, e = {}) {
39
- const t = d.encode(n);
40
- return m(t, e);
1
+ function n(e) {
2
+ return {
3
+ formatters: void 0,
4
+ fees: void 0,
5
+ serializers: void 0,
6
+ ...e
7
+ };
41
8
  }
42
9
  export {
43
- z as boolToHex,
44
- m as bytesToHex,
45
- y as numberToHex,
46
- $ as stringToHex,
47
- B as toHex
10
+ n as defineChain
48
11
  };
@@ -1,16 +1,20 @@
1
- import { stringToBytes as p } from "./index29.js";
2
- import { keccak256 as f } from "./index30.js";
3
- import { LruMap as m } from "./index31.js";
4
- const r = /* @__PURE__ */ new m(8192);
5
- function a(s, o) {
6
- if (r.has(`${s}.${o}`))
7
- return r.get(`${s}.${o}`);
8
- const c = s.substring(2).toLowerCase(), n = f(p(c)), e = c.split("");
9
- for (let t = 0; t < 40; t += 2)
10
- n[t >> 1] >> 4 >= 8 && e[t] && (e[t] = e[t].toUpperCase()), (n[t >> 1] & 15) >= 8 && e[t + 1] && (e[t + 1] = e[t + 1].toUpperCase());
11
- const i = `0x${e.join("")}`;
12
- return r.set(`${s}.${o}`, i), i;
1
+ import { toHex as i } from "./index29.js";
2
+ import { toYParitySignatureArray as c } from "./index15.js";
3
+ function f(r) {
4
+ if (!r || r.length === 0)
5
+ return [];
6
+ const t = [];
7
+ for (const o of r) {
8
+ const { chainId: n, nonce: e, ...s } = o, a = o.address;
9
+ t.push([
10
+ n ? i(n) : "0x",
11
+ a,
12
+ e ? i(e) : "0x",
13
+ ...c({}, s)
14
+ ]);
15
+ }
16
+ return t;
13
17
  }
14
18
  export {
15
- a as checksumAddress
19
+ f as serializeAuthorizationList
16
20
  };