@coinbase/cdp-core 0.0.6 → 0.0.7

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,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,149 +1,7 @@
1
- import { Provider as y, Hex as I } from "ox";
2
- import { createWalletClient as E } from "viem";
3
- import { signEvmTypedData as S, signEvmHash as T, getCurrentUser as f, signOut as P, sendEvmTransaction as R, signEvmTransaction as A, signEvmMessage as x } from "./index2.js";
4
- import "./index3.js";
5
- import { validateUserOwnsAddress as m, EIP1193ProviderError as l, STANDARD_ERROR_CODES as s, RPCRequestError as c, validateUserHasEvmAccount as C, validateUserConnected as D } from "./index4.js";
6
- import { isChainIdSupportedForCDPSends as b, chainIdToNameMapping as j } from "./index12.js";
7
- function g(e) {
8
- return {
9
- to: e.to,
10
- data: e.data,
11
- value: e.value ? BigInt(e.value) : void 0,
12
- nonce: e.nonce ? Number(e.nonce) : void 0,
13
- gas: e.gas ? BigInt(e.gas) : void 0,
14
- maxFeePerGas: e.maxFeePerGas ? BigInt(e.maxFeePerGas) : void 0,
15
- maxPriorityFeePerGas: e.maxPriorityFeePerGas ? BigInt(e.maxPriorityFeePerGas) : void 0,
16
- type: "eip1559"
17
- };
18
- }
19
- async function U() {
20
- return (await f())?.evmAccounts || [];
21
- }
22
- async function M(e, a) {
23
- const n = await D();
24
- return e.emit("connect", {
25
- chainId: I.fromNumber(a.getState().chainId)
26
- }), n.evmAccounts;
27
- }
28
- async function _(e) {
29
- const [a, n] = e;
30
- await m(n);
31
- const t = Buffer.from(a.slice(2), "hex").toString();
32
- try {
33
- return (await x({
34
- evmAccount: n,
35
- message: t
36
- })).signature;
37
- } catch (o) {
38
- throw new l(
39
- s.provider.userRejectedRequest,
40
- o instanceof Error ? o.message : "Signing failed"
41
- );
42
- }
43
- }
44
- async function k(e) {
45
- const [a, n] = e;
46
- await m(n);
47
- try {
48
- const t = JSON.parse(a);
49
- return (await S({
50
- evmAccount: n,
51
- typedData: t
52
- })).signature;
53
- } catch (t) {
54
- throw new l(
55
- s.provider.userRejectedRequest,
56
- t instanceof Error ? t.message : "Signing failed"
57
- );
58
- }
59
- }
60
- async function z(e, a, n) {
61
- const [t] = e;
62
- if (!t || typeof t != "object")
63
- throw new c(
64
- s.rpc.invalidParams,
65
- "Transaction parameter must be an object"
66
- );
67
- if (!t.to)
68
- throw new c(
69
- s.rpc.invalidParams,
70
- "Transaction must include 'to' field"
71
- );
72
- const d = (await C()).evmAccounts[0], u = a.getState(), i = t.chainId ? Number(t.chainId) : u.chainId;
73
- if (b(i))
74
- try {
75
- return (await R({
76
- evmAccount: d,
77
- transaction: { ...g(t), chainId: i },
78
- network: j[i]
79
- })).transactionHash;
80
- } catch (r) {
81
- throw console.log("Transaction failed", r), new c(
82
- s.rpc.transactionRejected,
83
- r instanceof Error ? r.message : "Transaction failed"
84
- );
85
- }
86
- else
87
- try {
88
- const r = E({
89
- // Safe as we check before calling this handler that chainId is configured
90
- chain: u.chains.find((h) => h.id === i),
91
- transport: n[i],
92
- account: d
93
- }), p = u.chains.find((h) => h.id === i), w = await r.prepareTransactionRequest({
94
- ...g(t),
95
- chain: p
96
- }), v = await A({
97
- evmAccount: d,
98
- transaction: {
99
- ...w,
100
- type: "eip1559"
101
- }
102
- });
103
- return await r.sendRawTransaction({
104
- serializedTransaction: v.signedTransaction
105
- });
106
- } catch (r) {
107
- throw new c(
108
- s.rpc.transactionRejected,
109
- r instanceof Error ? r.message : "Transaction failed"
110
- );
111
- }
112
- }
113
- async function J(e) {
114
- const [a, n] = e;
115
- await m(n);
116
- try {
117
- return (await T({
118
- evmAccount: n,
119
- hash: a
120
- })).signature;
121
- } catch (t) {
122
- throw new l(
123
- s.provider.userRejectedRequest,
124
- t instanceof Error ? t.message : "Signing failed"
125
- );
126
- }
127
- }
128
- async function W(e) {
129
- return `0x${e.getState().chainId.toString(16)}`;
130
- }
131
- async function $(e) {
132
- await f() && await P(), e.emit("disconnect", new y.DisconnectedError());
133
- }
134
- function K(e, a) {
135
- const n = Number.parseInt(e[0].chainId, 16);
136
- a.getState().setChainId(n);
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("");
137
4
  }
138
5
  export {
139
- U as handleAccounts,
140
- W as handleChainId,
141
- $ as handleDisconnect,
142
- J as handleEthSign,
143
- _ as handlePersonalSign,
144
- M as handleRequestAccounts,
145
- z as handleSendTransaction,
146
- k as handleSignTypedData,
147
- K as handleSwitchEthereumChain,
148
- g as shimProviderTxRequest
6
+ t as generateRandomId
149
7
  };
@@ -1,58 +1,7 @@
1
- import { chainConfig as a } from "./index82.js";
2
- import { defineChain as t } from "./index22.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,12 +1,12 @@
1
1
  import { Provider as m } from "ox";
2
2
  import { http as l } from "viem";
3
3
  import { create as p } from "zustand";
4
- import { subscribeWithSelector as f, persist as g } from "./index18.js";
4
+ import { subscribeWithSelector as f, persist as g } from "./index14.js";
5
5
  import { validateRequest as I, EIP1193ProviderError as S, STANDARD_ERROR_CODES as w } from "./index4.js";
6
- import { EventEmitter as b } from "./index19.js";
7
- import { handleChainId as A, handleSignTypedData as C, handleEthSign as _, handleSwitchEthereumChain as v, handleDisconnect as D, handleSendTransaction as P, handlePersonalSign as R, handleRequestAccounts as E, handleAccounts as T } from "./index20.js";
6
+ import { EventEmitter as b } from "./index15.js";
7
+ import { handleChainId as A, handleSignTypedData as C, handleEthSign as _, handleSwitchEthereumChain as v, handleDisconnect as D, handleSendTransaction as P, handlePersonalSign as R, handleRequestAccounts as E, handleAccounts as T } from "./index16.js";
8
8
  import { onAuthStateChange as q } from "./index2.js";
9
- import { baseSepolia as h } from "./index21.js";
9
+ import { baseSepolia as h } from "./index17.js";
10
10
  function y(e, r, a) {
11
11
  r.subscribe(
12
12
  (n) => n.chainId,
@@ -1,9 +1,9 @@
1
1
  import { logOutEndUser as c, refreshAccessToken as o, registerTemporaryWalletSecret as u } from "@coinbase/cdp-api-client";
2
- import { SignJWT as S } from "./index14.js";
2
+ import { SignJWT as S } from "./index18.js";
3
3
  import { toAuthState as w } from "./index6.js";
4
- import { createKeyPair as f } from "./index15.js";
5
- import { generateRandomId as n } from "./index16.js";
6
- import { hash as d } from "./index17.js";
4
+ import { createKeyPair as f } from "./index19.js";
5
+ import { generateRandomId as n } from "./index20.js";
6
+ import { hash as d } from "./index21.js";
7
7
  import { sortKeys as y } from "./index12.js";
8
8
  const h = 60 * 1e3;
9
9
  class E {
@@ -1,4 +1,4 @@
1
- import { FlattenedSign as n } from "./index77.js";
1
+ import { FlattenedSign as n } from "./index78.js";
2
2
  class o {
3
3
  #e;
4
4
  constructor(e) {
@@ -1,7 +1,7 @@
1
- import { encoder as n } from "./index78.js";
2
- import e from "./index79.js";
3
- import i from "./index80.js";
4
- import o from "./index81.js";
1
+ import { encoder as n } from "./index79.js";
2
+ import e from "./index80.js";
3
+ import i from "./index81.js";
4
+ import o from "./index82.js";
5
5
  function s(r, t) {
6
6
  if (!Number.isFinite(t))
7
7
  throw new TypeError(`Invalid ${r} input`);
@@ -1,57 +1,12 @@
1
- import { encode as d } from "./index85.js";
2
- import y from "./index86.js";
3
- import b from "./index87.js";
4
- import { JWSInvalid as r } from "./index68.js";
5
- import { encoder as s, concat as u, decoder as h } from "./index78.js";
6
- import g from "./index88.js";
7
- import H from "./index89.js";
8
- import P from "./index90.js";
9
- class x {
10
- #r;
11
- #e;
12
- #t;
13
- constructor(e) {
14
- if (!(e instanceof Uint8Array))
15
- throw new TypeError("payload must be an instance of Uint8Array");
16
- this.#r = e;
17
- }
18
- setProtectedHeader(e) {
19
- if (this.#e)
20
- throw new TypeError("setProtectedHeader can only be called once");
21
- return this.#e = e, this;
22
- }
23
- setUnprotectedHeader(e) {
24
- if (this.#t)
25
- throw new TypeError("setUnprotectedHeader can only be called once");
26
- return this.#t = e, this;
27
- }
28
- async sign(e, l) {
29
- if (!this.#e && !this.#t)
30
- throw new r("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");
31
- if (!b(this.#e, this.#t))
32
- throw new r("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
33
- const c = {
34
- ...this.#e,
35
- ...this.#t
36
- }, p = H(r, /* @__PURE__ */ new Map([["b64", !0]]), l?.crit, this.#e, c);
37
- let o = !0;
38
- if (p.has("b64") && (o = this.#e.b64, typeof o != "boolean"))
39
- throw new r('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
40
- const { alg: t } = c;
41
- if (typeof t != "string" || !t)
42
- throw new r('JWS "alg" (Algorithm) Header Parameter missing or invalid');
43
- g(t, e, "sign");
44
- let i = this.#r;
45
- o && (i = s.encode(d(i)));
46
- let n;
47
- this.#e ? n = s.encode(d(JSON.stringify(this.#e))) : n = s.encode("");
48
- const f = u(n, s.encode("."), i), m = await P(e, t), w = await y(t, m, f), a = {
49
- signature: d(w),
50
- payload: ""
51
- };
52
- return o && (a.payload = h.decode(i)), this.#t && (a.header = this.#t), this.#e && (a.protected = h.decode(n)), a;
53
- }
54
- }
1
+ import { contracts as o } from "./index85.js";
2
+ import { formatters as r } from "./index86.js";
3
+ import { serializers as t } from "./index87.js";
4
+ const e = {
5
+ blockTime: 2e3,
6
+ contracts: o,
7
+ formatters: r,
8
+ serializers: t
9
+ };
55
10
  export {
56
- x as FlattenedSign
11
+ e as chainConfig
57
12
  };
@@ -1,13 +1,57 @@
1
- const d = new TextEncoder(), s = new TextDecoder();
2
- function f(...n) {
3
- const c = n.reduce((e, { length: r }) => e + r, 0), t = new Uint8Array(c);
4
- let o = 0;
5
- for (const e of n)
6
- t.set(e, o), o += e.length;
7
- return t;
1
+ import { encode as d } from "./index88.js";
2
+ import y from "./index89.js";
3
+ import b from "./index90.js";
4
+ import { JWSInvalid as r } from "./index68.js";
5
+ import { encoder as s, concat as u, decoder as h } from "./index79.js";
6
+ import g from "./index91.js";
7
+ import H from "./index92.js";
8
+ import P from "./index93.js";
9
+ class x {
10
+ #r;
11
+ #e;
12
+ #t;
13
+ constructor(e) {
14
+ if (!(e instanceof Uint8Array))
15
+ throw new TypeError("payload must be an instance of Uint8Array");
16
+ this.#r = e;
17
+ }
18
+ setProtectedHeader(e) {
19
+ if (this.#e)
20
+ throw new TypeError("setProtectedHeader can only be called once");
21
+ return this.#e = e, this;
22
+ }
23
+ setUnprotectedHeader(e) {
24
+ if (this.#t)
25
+ throw new TypeError("setUnprotectedHeader can only be called once");
26
+ return this.#t = e, this;
27
+ }
28
+ async sign(e, l) {
29
+ if (!this.#e && !this.#t)
30
+ throw new r("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");
31
+ if (!b(this.#e, this.#t))
32
+ throw new r("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
33
+ const c = {
34
+ ...this.#e,
35
+ ...this.#t
36
+ }, p = H(r, /* @__PURE__ */ new Map([["b64", !0]]), l?.crit, this.#e, c);
37
+ let o = !0;
38
+ if (p.has("b64") && (o = this.#e.b64, typeof o != "boolean"))
39
+ throw new r('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
40
+ const { alg: t } = c;
41
+ if (typeof t != "string" || !t)
42
+ throw new r('JWS "alg" (Algorithm) Header Parameter missing or invalid');
43
+ g(t, e, "sign");
44
+ let i = this.#r;
45
+ o && (i = s.encode(d(i)));
46
+ let n;
47
+ this.#e ? n = s.encode(d(JSON.stringify(this.#e))) : n = s.encode("");
48
+ const f = u(n, s.encode("."), i), m = await P(e, t), w = await y(t, m, f), a = {
49
+ signature: d(w),
50
+ payload: ""
51
+ };
52
+ return o && (a.payload = h.decode(i)), this.#t && (a.header = this.#t), this.#e && (a.protected = h.decode(n)), a;
53
+ }
8
54
  }
9
55
  export {
10
- f as concat,
11
- s as decoder,
12
- d as encoder
56
+ x as FlattenedSign
13
57
  };
@@ -1,4 +1,13 @@
1
- const o = (e) => Math.floor(e.getTime() / 1e3);
1
+ const d = new TextEncoder(), s = new TextDecoder();
2
+ function f(...n) {
3
+ const c = n.reduce((e, { length: r }) => e + r, 0), t = new Uint8Array(c);
4
+ let o = 0;
5
+ for (const e of n)
6
+ t.set(e, o), o += e.length;
7
+ return t;
8
+ }
2
9
  export {
3
- o as default
10
+ f as concat,
11
+ s as decoder,
12
+ d as encoder
4
13
  };
@@ -1,47 +1,4 @@
1
- const o = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, t = (c) => {
2
- const s = o.exec(c);
3
- if (!s || s[4] && s[1])
4
- throw new TypeError("Invalid time period format");
5
- const a = parseFloat(s[2]), r = s[3].toLowerCase();
6
- let e;
7
- switch (r) {
8
- case "sec":
9
- case "secs":
10
- case "second":
11
- case "seconds":
12
- case "s":
13
- e = Math.round(a);
14
- break;
15
- case "minute":
16
- case "minutes":
17
- case "min":
18
- case "mins":
19
- case "m":
20
- e = Math.round(a * 60);
21
- break;
22
- case "hour":
23
- case "hours":
24
- case "hr":
25
- case "hrs":
26
- case "h":
27
- e = Math.round(a * 3600);
28
- break;
29
- case "day":
30
- case "days":
31
- case "d":
32
- e = Math.round(a * 86400);
33
- break;
34
- case "week":
35
- case "weeks":
36
- case "w":
37
- e = Math.round(a * 604800);
38
- break;
39
- default:
40
- e = Math.round(a * 31557600);
41
- break;
42
- }
43
- return s[1] === "-" || s[4] === "ago" ? -e : e;
44
- };
1
+ const o = (e) => Math.floor(e.getTime() / 1e3);
45
2
  export {
46
- t as default
3
+ o as default
47
4
  };
@@ -1,16 +1,47 @@
1
- function o(t) {
2
- return typeof t == "object" && t !== null;
3
- }
4
- const r = (t) => {
5
- if (!o(t) || Object.prototype.toString.call(t) !== "[object Object]")
6
- return !1;
7
- if (Object.getPrototypeOf(t) === null)
8
- return !0;
9
- let e = t;
10
- for (; Object.getPrototypeOf(e) !== null; )
11
- e = Object.getPrototypeOf(e);
12
- return Object.getPrototypeOf(t) === e;
1
+ const o = /^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i, t = (c) => {
2
+ const s = o.exec(c);
3
+ if (!s || s[4] && s[1])
4
+ throw new TypeError("Invalid time period format");
5
+ const a = parseFloat(s[2]), r = s[3].toLowerCase();
6
+ let e;
7
+ switch (r) {
8
+ case "sec":
9
+ case "secs":
10
+ case "second":
11
+ case "seconds":
12
+ case "s":
13
+ e = Math.round(a);
14
+ break;
15
+ case "minute":
16
+ case "minutes":
17
+ case "min":
18
+ case "mins":
19
+ case "m":
20
+ e = Math.round(a * 60);
21
+ break;
22
+ case "hour":
23
+ case "hours":
24
+ case "hr":
25
+ case "hrs":
26
+ case "h":
27
+ e = Math.round(a * 3600);
28
+ break;
29
+ case "day":
30
+ case "days":
31
+ case "d":
32
+ e = Math.round(a * 86400);
33
+ break;
34
+ case "week":
35
+ case "weeks":
36
+ case "w":
37
+ e = Math.round(a * 604800);
38
+ break;
39
+ default:
40
+ e = Math.round(a * 31557600);
41
+ break;
42
+ }
43
+ return s[1] === "-" || s[4] === "ago" ? -e : e;
13
44
  };
14
45
  export {
15
- r as default
46
+ t as default
16
47
  };
@@ -1,12 +1,16 @@
1
- import { contracts as o } from "./index91.js";
2
- import { formatters as r } from "./index92.js";
3
- import { serializers as t } from "./index93.js";
4
- const e = {
5
- blockTime: 2e3,
6
- contracts: o,
7
- formatters: r,
8
- serializers: t
1
+ function o(t) {
2
+ return typeof t == "object" && t !== null;
3
+ }
4
+ const r = (t) => {
5
+ if (!o(t) || Object.prototype.toString.call(t) !== "[object Object]")
6
+ return !1;
7
+ if (Object.getPrototypeOf(t) === null)
8
+ return !0;
9
+ let e = t;
10
+ for (; Object.getPrototypeOf(e) !== null; )
11
+ e = Object.getPrototypeOf(e);
12
+ return Object.getPrototypeOf(t) === e;
9
13
  };
10
14
  export {
11
- e as chainConfig
15
+ r as default
12
16
  };
@@ -1,23 +1,15 @@
1
- import { encoder as t, decoder as o } from "./index78.js";
2
- import { encodeBase64 as c, decodeBase64 as a } from "./index94.js";
3
- function i(r) {
4
- if (Uint8Array.fromBase64)
5
- return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
6
- alphabet: "base64url"
7
- });
8
- let e = r;
9
- e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
10
- try {
11
- return a(e);
12
- } catch {
13
- throw new TypeError("The input to be decoded is not correctly encoded.");
1
+ const s = {
2
+ gasPriceOracle: { address: "0x420000000000000000000000000000000000000F" },
3
+ l1Block: { address: "0x4200000000000000000000000000000000000015" },
4
+ l2CrossDomainMessenger: {
5
+ address: "0x4200000000000000000000000000000000000007"
6
+ },
7
+ l2Erc721Bridge: { address: "0x4200000000000000000000000000000000000014" },
8
+ l2StandardBridge: { address: "0x4200000000000000000000000000000000000010" },
9
+ l2ToL1MessagePasser: {
10
+ address: "0x4200000000000000000000000000000000000016"
14
11
  }
15
- }
16
- function p(r) {
17
- let e = r;
18
- return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
19
- }
12
+ };
20
13
  export {
21
- i as decode,
22
- p as encode
14
+ s as contracts
23
15
  };