@coinbase/cdp-hooks 0.0.49 → 0.0.50

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/README.md CHANGED
@@ -132,6 +132,23 @@ export default function App() {
132
132
  }
133
133
  ```
134
134
 
135
+ #### Analytics Opt-Out
136
+
137
+ By default the SDK will emit usage analytics to help us improve the SDK. If you would like to opt-out, you can do so by setting the `disableAnalytics` configuration option to `true`.
138
+
139
+ ```tsx lines
140
+ function App() {
141
+ return (
142
+ <CDPHooksProvider config={{
143
+ projectId: "your-project-id",
144
+ disableAnalytics: true,
145
+ }}>
146
+ <App />
147
+ </CDPHooksProvider>
148
+ );
149
+ }
150
+ ```
151
+
135
152
  #### Smart Account Configuration
136
153
 
137
154
  You can configure the provider to automatically create Smart Accounts for new users:
@@ -1,4 +1,4 @@
1
- import { withResolvers as d } from "./index212.js";
1
+ import { withResolvers as d } from "./index214.js";
2
2
  const h = /* @__PURE__ */ new Map();
3
3
  function S({ fn: p, id: o, shouldSplitBatch: a, wait: g = 0, sort: l }) {
4
4
  const u = async () => {
@@ -1,7 +1,7 @@
1
1
  import { TimeoutError as m, HttpRequestError as i } from "./index17.js";
2
2
  import { withTimeout as j } from "./index181.js";
3
3
  import { stringify as c } from "./index107.js";
4
- import { idCache as y } from "./index213.js";
4
+ import { idCache as y } from "./index215.js";
5
5
  function E(s, o = {}) {
6
6
  return {
7
7
  async request(p) {
@@ -1,39 +1,10 @@
1
- const f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
2
- let w = 0;
3
- function C(s, l, h) {
4
- const i = ++w, c = () => f.get(s) || [], g = () => {
5
- const n = c();
6
- f.set(s, n.filter((e) => e.id !== i));
7
- }, r = () => {
8
- const n = c();
9
- if (!n.some((t) => t.id === i))
10
- return;
11
- const e = p.get(s);
12
- if (n.length === 1 && e) {
13
- const t = e();
14
- t instanceof Promise && t.catch(() => {
15
- });
16
- }
17
- g();
18
- }, o = c();
19
- if (f.set(s, [
20
- ...o,
21
- { id: i, fns: l }
22
- ]), o && o.length > 0)
23
- return r;
24
- const u = {};
25
- for (const n in l)
26
- u[n] = (...e) => {
27
- const t = c();
28
- if (t.length !== 0)
29
- for (const m of t)
30
- m.fns[n]?.(...e);
31
- };
32
- const a = h(u);
33
- return typeof a == "function" && p.set(s, a), r;
1
+ function f(t, n, c) {
2
+ const i = t[n.name];
3
+ if (typeof i == "function")
4
+ return i;
5
+ const o = t[c];
6
+ return typeof o == "function" ? o : (e) => n(t, e);
34
7
  }
35
8
  export {
36
- p as cleanupCache,
37
- f as listenersCache,
38
- C as observe
9
+ f as getAction
39
10
  };
@@ -1,18 +1,9 @@
1
- import { wait as l } from "./index180.js";
2
- function p(a, { emitOnBegin: e, initialWaitTime: w, interval: i }) {
3
- let n = !0;
4
- const t = () => n = !1;
5
- return (async () => {
6
- let o;
7
- e && (o = await a({ unpoll: t }));
8
- const u = await w?.(o) ?? i;
9
- await l(u);
10
- const c = async () => {
11
- n && (await a({ unpoll: t }), await l(i), c());
12
- };
13
- c();
14
- })(), t;
1
+ function u(e, { method: r }) {
2
+ const t = {};
3
+ return e.transport.type === "fallback" && e.transport.onResponse?.(({ method: s, response: o, status: p, transport: n }) => {
4
+ p === "success" && r === s && (t[o] = n.request);
5
+ }), (s) => t[s] || e.request;
15
6
  }
16
7
  export {
17
- p as poll
8
+ u as createFilterRequestScope
18
9
  };
@@ -1,11 +1,39 @@
1
- function i() {
2
- let e = () => {
3
- }, n = () => {
4
- };
5
- return { promise: new Promise((r, o) => {
6
- e = r, n = o;
7
- }), resolve: e, reject: n };
1
+ const f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map();
2
+ let w = 0;
3
+ function C(s, l, h) {
4
+ const i = ++w, c = () => f.get(s) || [], g = () => {
5
+ const n = c();
6
+ f.set(s, n.filter((e) => e.id !== i));
7
+ }, r = () => {
8
+ const n = c();
9
+ if (!n.some((t) => t.id === i))
10
+ return;
11
+ const e = p.get(s);
12
+ if (n.length === 1 && e) {
13
+ const t = e();
14
+ t instanceof Promise && t.catch(() => {
15
+ });
16
+ }
17
+ g();
18
+ }, o = c();
19
+ if (f.set(s, [
20
+ ...o,
21
+ { id: i, fns: l }
22
+ ]), o && o.length > 0)
23
+ return r;
24
+ const u = {};
25
+ for (const n in l)
26
+ u[n] = (...e) => {
27
+ const t = c();
28
+ if (t.length !== 0)
29
+ for (const m of t)
30
+ m.fns[n]?.(...e);
31
+ };
32
+ const a = h(u);
33
+ return typeof a == "function" && p.set(s, a), r;
8
34
  }
9
35
  export {
10
- i as withResolvers
36
+ p as cleanupCache,
37
+ f as listenersCache,
38
+ C as observe
11
39
  };
@@ -1,15 +1,18 @@
1
- function r() {
2
- return {
3
- current: 0,
4
- take() {
5
- return this.current++;
6
- },
7
- reset() {
8
- this.current = 0;
9
- }
10
- };
1
+ import { wait as l } from "./index180.js";
2
+ function p(a, { emitOnBegin: e, initialWaitTime: w, interval: i }) {
3
+ let n = !0;
4
+ const t = () => n = !1;
5
+ return (async () => {
6
+ let o;
7
+ e && (o = await a({ unpoll: t }));
8
+ const u = await w?.(o) ?? i;
9
+ await l(u);
10
+ const c = async () => {
11
+ n && (await a({ unpoll: t }), await l(i), c());
12
+ };
13
+ c();
14
+ })(), t;
11
15
  }
12
- const t = /* @__PURE__ */ r();
13
16
  export {
14
- t as idCache
17
+ p as poll
15
18
  };
@@ -1,10 +1,11 @@
1
- function f(t, n, c) {
2
- const i = t[n.name];
3
- if (typeof i == "function")
4
- return i;
5
- const o = t[c];
6
- return typeof o == "function" ? o : (e) => n(t, e);
1
+ function i() {
2
+ let e = () => {
3
+ }, n = () => {
4
+ };
5
+ return { promise: new Promise((r, o) => {
6
+ e = r, n = o;
7
+ }), resolve: e, reject: n };
7
8
  }
8
9
  export {
9
- f as getAction
10
+ i as withResolvers
10
11
  };
@@ -1,9 +1,15 @@
1
- function u(e, { method: r }) {
2
- const t = {};
3
- return e.transport.type === "fallback" && e.transport.onResponse?.(({ method: s, response: o, status: p, transport: n }) => {
4
- p === "success" && r === s && (t[o] = n.request);
5
- }), (s) => t[s] || e.request;
1
+ function r() {
2
+ return {
3
+ current: 0,
4
+ take() {
5
+ return this.current++;
6
+ },
7
+ reset() {
8
+ this.current = 0;
9
+ }
10
+ };
6
11
  }
12
+ const t = /* @__PURE__ */ r();
7
13
  export {
8
- u as createFilterRequestScope
14
+ t as idCache
9
15
  };
@@ -8,7 +8,7 @@ import { isNullUniversalResolverError as y } from "./index216.js";
8
8
  import { localBatchGatewayUrl as x } from "./index167.js";
9
9
  import { namehash as i } from "./index116.js";
10
10
  import { packetToBytes as N } from "./index217.js";
11
- import { getAction as B } from "./index214.js";
11
+ import { getAction as B } from "./index210.js";
12
12
  import { readContract as T } from "./index59.js";
13
13
  async function J(a, o) {
14
14
  const { blockNumber: l, blockTag: m, coinType: t, name: e, gatewayUrls: f, strict: v } = o, { chain: n } = a, p = (() => {
@@ -6,7 +6,7 @@ import { getAddress as S } from "./index123.js";
6
6
  import { isAddressEqual as h } from "./index145.js";
7
7
  import { isHex as v } from "./index149.js";
8
8
  import { bytesToHex as x } from "./index113.js";
9
- import { getAction as b } from "./index214.js";
9
+ import { getAction as b } from "./index210.js";
10
10
  import { isErc6492Signature as A } from "./index159.js";
11
11
  import { recoverAddress as w } from "./index153.js";
12
12
  import { serializeErc6492Signature as E } from "./index160.js";
@@ -1,5 +1,5 @@
1
1
  import { parseAvatarRecord as m } from "./index218.js";
2
- import { getAction as u } from "./index214.js";
2
+ import { getAction as u } from "./index210.js";
3
3
  import { getEnsText as f } from "./index27.js";
4
4
  async function y(t, { blockNumber: a, blockTag: e, assetGatewayUrls: n, name: o, gatewayUrls: c, strict: i, universalResolverAddress: s }) {
5
5
  const r = await u(t, f, "getEnsText")({
@@ -3,7 +3,7 @@ import { getChainContractAddress as u } from "./index177.js";
3
3
  import { toHex as h } from "./index113.js";
4
4
  import { isNullUniversalResolverError as p } from "./index216.js";
5
5
  import { packetToBytes as C } from "./index217.js";
6
- import { getAction as w } from "./index214.js";
6
+ import { getAction as w } from "./index210.js";
7
7
  import { readContract as A } from "./index59.js";
8
8
  async function b(e, { address: t, blockNumber: s, blockTag: i, gatewayUrls: a, strict: c, universalResolverAddress: d }) {
9
9
  let o = d;
@@ -1,7 +1,7 @@
1
1
  import { getChainContractAddress as l } from "./index177.js";
2
2
  import { toHex as u } from "./index113.js";
3
3
  import { packetToBytes as v } from "./index217.js";
4
- import { getAction as f } from "./index214.js";
4
+ import { getAction as f } from "./index210.js";
5
5
  import { readContract as m } from "./index59.js";
6
6
  async function A(o, r) {
7
7
  const { blockNumber: n, blockTag: i, name: s } = r, { chain: e } = o, a = (() => {
@@ -7,7 +7,7 @@ import { isNullUniversalResolverError as g } from "./index216.js";
7
7
  import { localBatchGatewayUrl as w } from "./index167.js";
8
8
  import { namehash as x } from "./index116.js";
9
9
  import { packetToBytes as C } from "./index217.js";
10
- import { getAction as y } from "./index214.js";
10
+ import { getAction as y } from "./index210.js";
11
11
  import { readContract as N } from "./index59.js";
12
12
  async function j(n, e) {
13
13
  const { blockNumber: s, blockTag: m, key: d, name: t, gatewayUrls: u, strict: f } = e, { chain: o } = n, v = (() => {
@@ -1,4 +1,4 @@
1
- import { createFilterRequestScope as r } from "./index215.js";
1
+ import { createFilterRequestScope as r } from "./index211.js";
2
2
  async function i(e) {
3
3
  const o = r(e, {
4
4
  method: "eth_newBlockFilter"
@@ -1,6 +1,6 @@
1
1
  import { encodeEventTopics as l } from "./index140.js";
2
2
  import { numberToHex as s } from "./index113.js";
3
- import { createFilterRequestScope as u } from "./index215.js";
3
+ import { createFilterRequestScope as u } from "./index211.js";
4
4
  async function h(r, a) {
5
5
  const { address: m, abi: n, args: i, eventName: e, fromBlock: t, strict: p, toBlock: o } = a, f = u(r, {
6
6
  method: "eth_newFilter"
@@ -1,6 +1,6 @@
1
1
  import { encodeEventTopics as b } from "./index140.js";
2
2
  import { numberToHex as m } from "./index113.js";
3
- import { createFilterRequestScope as h } from "./index215.js";
3
+ import { createFilterRequestScope as h } from "./index211.js";
4
4
  async function l(r, { address: p, args: a, event: e, events: c, fromBlock: n, strict: f, toBlock: i } = {}) {
5
5
  const o = c ?? (e ? [e] : void 0), u = h(r, {
6
6
  method: "eth_newFilter"
@@ -1,4 +1,4 @@
1
- import { createFilterRequestScope as r } from "./index215.js";
1
+ import { createFilterRequestScope as r } from "./index211.js";
2
2
  async function a(e) {
3
3
  const n = r(e, {
4
4
  method: "eth_newPendingTransactionFilter"
@@ -1,7 +1,7 @@
1
1
  import { parseAccount as u } from "./index15.js";
2
2
  import { encodeFunctionData as f } from "./index141.js";
3
3
  import { getContractError as p } from "./index184.js";
4
- import { getAction as g } from "./index214.js";
4
+ import { getAction as g } from "./index210.js";
5
5
  import { estimateGas as G } from "./index36.js";
6
6
  async function A(s, i) {
7
7
  const { abi: a, address: o, args: r, functionName: c, dataSuffix: e, ...t } = i, m = f({
@@ -1,5 +1,5 @@
1
1
  import { BaseFeeScalarError as p, Eip1559FeesNotSupportedError as F } from "./index99.js";
2
- import { getAction as l } from "./index214.js";
2
+ import { getAction as l } from "./index210.js";
3
3
  import { internal_estimateMaxPriorityFeePerGas as u } from "./index37.js";
4
4
  import { getBlock as G } from "./index40.js";
5
5
  import { getGasPrice as b } from "./index50.js";
@@ -1,6 +1,6 @@
1
1
  import { Eip1559FeesNotSupportedError as f } from "./index99.js";
2
2
  import { hexToBigInt as u } from "./index146.js";
3
- import { getAction as s } from "./index214.js";
3
+ import { getAction as s } from "./index210.js";
4
4
  import { getBlock as c } from "./index40.js";
5
5
  import { getGasPrice as y } from "./index50.js";
6
6
  async function h(e, o) {
@@ -1,5 +1,5 @@
1
1
  import { getAbiItem as p } from "./index93.js";
2
- import { getAction as v } from "./index214.js";
2
+ import { getAction as v } from "./index210.js";
3
3
  import { getLogs as l } from "./index51.js";
4
4
  async function y(n, r) {
5
5
  const { abi: t, address: s, args: c, blockHash: i, eventName: e, fromBlock: m, toBlock: a, strict: f } = r, o = e ? p({ abi: t, name: e }) : void 0, g = o ? void 0 : t.filter((d) => d.type === "event");
@@ -1,5 +1,5 @@
1
1
  import { Eip712DomainNotFoundError as u } from "./index226.js";
2
- import { getAction as d } from "./index214.js";
2
+ import { getAction as d } from "./index210.js";
3
3
  import { readContract as f } from "./index59.js";
4
4
  async function E(a, o) {
5
5
  const { address: e, factory: r, factoryData: i } = o;
@@ -1,4 +1,4 @@
1
- import { getAction as n } from "./index214.js";
1
+ import { getAction as n } from "./index210.js";
2
2
  import { getBlockNumber as a } from "./index41.js";
3
3
  import { getTransaction as m } from "./index54.js";
4
4
  async function f(o, { hash: r, transactionReceipt: e }) {
@@ -6,7 +6,7 @@ import { decodeFunctionResult as q } from "./index134.js";
6
6
  import { encodeFunctionData as B } from "./index141.js";
7
7
  import { getChainContractAddress as O } from "./index177.js";
8
8
  import { getContractError as E } from "./index184.js";
9
- import { getAction as T } from "./index214.js";
9
+ import { getAction as T } from "./index210.js";
10
10
  import { readContract as Z } from "./index59.js";
11
11
  async function W(n, w) {
12
12
  const { account: b, allowFailure: u = !0, batchSize: F, blockNumber: p, blockTag: j, multicallAddress: y, stateOverride: N } = w, d = w.contracts, C = F ?? (typeof n.batch?.multicall == "object" && n.batch.multicall.batchSize || 1024);
@@ -1,7 +1,7 @@
1
1
  import { decodeFunctionResult as m } from "./index134.js";
2
2
  import { encodeFunctionData as s } from "./index141.js";
3
3
  import { getContractError as f } from "./index184.js";
4
- import { getAction as l } from "./index214.js";
4
+ import { getAction as l } from "./index210.js";
5
5
  import { call as p } from "./index28.js";
6
6
  async function x(n, e) {
7
7
  const { abi: t, address: c, args: o, functionName: r, ...d } = e, i = s({
@@ -2,7 +2,7 @@ import { parseAccount as p } from "./index15.js";
2
2
  import { decodeFunctionResult as h } from "./index134.js";
3
3
  import { encodeFunctionData as x } from "./index141.js";
4
4
  import { getContractError as b } from "./index184.js";
5
- import { getAction as g } from "./index214.js";
5
+ import { getAction as g } from "./index210.js";
6
6
  import { call as A } from "./index28.js";
7
7
  async function R(s, m) {
8
8
  const { abi: t, address: r, args: o, dataSuffix: n, functionName: a, ...c } = m, e = c.account ? p(c.account) : s.account, d = x({ abi: t, args: o, functionName: a });
@@ -1,8 +1,8 @@
1
1
  import { BlockNotFoundError as D } from "./index88.js";
2
2
  import { WaitForTransactionReceiptTimeoutError as M, TransactionNotFoundError as O, TransactionReceiptNotFoundError as W } from "./index97.js";
3
- import { getAction as l } from "./index214.js";
4
- import { observe as q } from "./index210.js";
5
- import { withResolvers as z } from "./index212.js";
3
+ import { getAction as l } from "./index210.js";
4
+ import { observe as q } from "./index212.js";
5
+ import { withResolvers as z } from "./index214.js";
6
6
  import { withRetry as B } from "./index179.js";
7
7
  import { stringify as G } from "./index107.js";
8
8
  import { getBlock as H } from "./index40.js";
@@ -1,7 +1,7 @@
1
1
  import { hexToBigInt as w } from "./index146.js";
2
- import { getAction as g } from "./index214.js";
3
- import { observe as k } from "./index210.js";
4
- import { poll as h } from "./index211.js";
2
+ import { getAction as g } from "./index210.js";
3
+ import { observe as k } from "./index212.js";
4
+ import { poll as h } from "./index213.js";
5
5
  import { stringify as y } from "./index107.js";
6
6
  import { getBlockNumber as v } from "./index41.js";
7
7
  function H(r, { emitOnBegin: c = !1, emitMissed: a = !1, onBlockNumber: l, onError: b, poll: i, pollingInterval: m = r.pollingInterval }) {
@@ -1,6 +1,6 @@
1
- import { getAction as p } from "./index214.js";
2
- import { observe as h } from "./index210.js";
3
- import { poll as v } from "./index211.js";
1
+ import { getAction as p } from "./index210.js";
2
+ import { observe as h } from "./index212.js";
3
+ import { poll as v } from "./index213.js";
4
4
  import { stringify as S } from "./index107.js";
5
5
  import { getBlock as i } from "./index40.js";
6
6
  function P(r, { blockTag: l = r.experimental_blockTag ?? "latest", emitMissed: y = !1, emitOnBegin: m = !1, onBlock: k, onError: f, includeTransactions: B, poll: d, pollingInterval: w = r.pollingInterval }) {
@@ -3,9 +3,9 @@ import { InvalidInputRpcError as T } from "./index100.js";
3
3
  import { decodeEventLog as z } from "./index130.js";
4
4
  import { encodeEventTopics as A } from "./index140.js";
5
5
  import { formatLog as B } from "./index121.js";
6
- import { getAction as g } from "./index214.js";
7
- import { observe as F } from "./index210.js";
8
- import { poll as O } from "./index211.js";
6
+ import { getAction as g } from "./index210.js";
7
+ import { observe as F } from "./index212.js";
8
+ import { poll as O } from "./index213.js";
9
9
  import { stringify as D } from "./index107.js";
10
10
  import { createContractEventFilter as R } from "./index31.js";
11
11
  import { getBlockNumber as U } from "./index41.js";
@@ -1,12 +1,12 @@
1
1
  import { encodeEventTopics as S } from "./index140.js";
2
- import { observe as B } from "./index210.js";
3
- import { poll as C } from "./index211.js";
2
+ import { observe as B } from "./index212.js";
3
+ import { poll as C } from "./index213.js";
4
4
  import { stringify as T } from "./index107.js";
5
5
  import { DecodeLogDataMismatch as z, DecodeLogTopicsMismatch as A } from "./index83.js";
6
6
  import { InvalidInputRpcError as O } from "./index100.js";
7
7
  import { decodeEventLog as P } from "./index130.js";
8
8
  import { formatLog as I } from "./index121.js";
9
- import { getAction as u } from "./index214.js";
9
+ import { getAction as u } from "./index210.js";
10
10
  import { createEventFilter as R } from "./index32.js";
11
11
  import { getBlockNumber as U } from "./index41.js";
12
12
  import { getFilterChanges as j } from "./index48.js";
@@ -1,6 +1,6 @@
1
- import { getAction as c } from "./index214.js";
2
- import { observe as p } from "./index210.js";
3
- import { poll as b } from "./index211.js";
1
+ import { getAction as c } from "./index210.js";
2
+ import { observe as p } from "./index212.js";
3
+ import { poll as b } from "./index213.js";
4
4
  import { stringify as m } from "./index107.js";
5
5
  import { createPendingTransactionFilter as d } from "./index33.js";
6
6
  import { getFilterChanges as h } from "./index48.js";
@@ -8,7 +8,7 @@ import { blobsToCommitments as q } from "./index168.js";
8
8
  import { blobsToProofs as V } from "./index172.js";
9
9
  import { commitmentsToVersionedHashes as _ } from "./index171.js";
10
10
  import { toBlobSidecars as B } from "./index173.js";
11
- import { getAction as p } from "./index214.js";
11
+ import { getAction as p } from "./index210.js";
12
12
  import { assertRequest as E } from "./index161.js";
13
13
  import { getTransactionType as M } from "./index150.js";
14
14
  import { getChainId as N } from "./index43.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-hooks",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist/**",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": ">=18.2.0",
18
- "@coinbase/cdp-core": "^0.0.49"
18
+ "@coinbase/cdp-core": "^0.0.50"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@testing-library/jest-dom": "^6.6.3",
@@ -30,7 +30,7 @@
30
30
  "@size-limit/webpack": "^11.2.0",
31
31
  "@size-limit/webpack-why": "^11.2.0",
32
32
  "size-limit": "^11.2.0",
33
- "@coinbase/cdp-core": "^0.0.49"
33
+ "@coinbase/cdp-core": "^0.0.50"
34
34
  },
35
35
  "size-limit": [
36
36
  {