viem 0.3.0-jxom-scope-filters.20230411T014605 → 0.3.0-jxom-scope-filters.20230411T061732

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 (40) hide show
  1. package/dist/cjs/actions/public/createBlockFilter.js +5 -12
  2. package/dist/cjs/actions/public/createBlockFilter.js.map +1 -1
  3. package/dist/cjs/actions/public/createContractEventFilter.js +5 -12
  4. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  5. package/dist/cjs/actions/public/createEventFilter.js +5 -12
  6. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  7. package/dist/cjs/actions/public/createPendingTransactionFilter.js +5 -13
  8. package/dist/cjs/actions/public/createPendingTransactionFilter.js.map +1 -1
  9. package/dist/cjs/clients/transports/fallback.js.map +1 -1
  10. package/dist/cjs/errors/version.js +1 -1
  11. package/dist/cjs/utils/filters/createFilterRequestScope.js +19 -0
  12. package/dist/cjs/utils/filters/createFilterRequestScope.js.map +1 -0
  13. package/dist/esm/actions/public/createBlockFilter.js +5 -12
  14. package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
  15. package/dist/esm/actions/public/createContractEventFilter.js +5 -12
  16. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  17. package/dist/esm/actions/public/createEventFilter.js +5 -12
  18. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  19. package/dist/esm/actions/public/createPendingTransactionFilter.js +5 -13
  20. package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
  21. package/dist/esm/clients/transports/fallback.js.map +1 -1
  22. package/dist/esm/errors/version.js +1 -1
  23. package/dist/esm/utils/filters/createFilterRequestScope.js +15 -0
  24. package/dist/esm/utils/filters/createFilterRequestScope.js.map +1 -0
  25. package/dist/types/actions/public/createBlockFilter.d.ts.map +1 -1
  26. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  27. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  28. package/dist/types/actions/public/createPendingTransactionFilter.d.ts.map +1 -1
  29. package/dist/types/errors/version.d.ts +1 -1
  30. package/dist/types/utils/filters/createFilterRequestScope.d.ts +16 -0
  31. package/dist/types/utils/filters/createFilterRequestScope.d.ts.map +1 -0
  32. package/package.json +1 -1
  33. package/src/actions/public/createBlockFilter.ts +5 -18
  34. package/src/actions/public/createContractEventFilter.ts +5 -16
  35. package/src/actions/public/createEventFilter.ts +6 -16
  36. package/src/actions/public/createPendingTransactionFilter.ts +5 -21
  37. package/src/clients/transports/fallback.ts +1 -1
  38. package/src/errors/version.ts +1 -1
  39. package/src/types/filter.ts +1 -1
  40. package/src/utils/filters/createFilterRequestScope.ts +42 -0
@@ -1,22 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBlockFilter = void 0;
4
+ const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
4
5
  async function createBlockFilter(client) {
5
- let request = client.request;
6
- // If the transport is a fallback, we want to scope the request function
7
- // to the successful child transport. This is because we want to keep the
8
- // request function scoped & don't want to apply the fallback behavior to
9
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
10
- if (client.transport.type === 'fallback')
11
- client.transport.onResponse(({ method, status, transport }) => {
12
- if (status === 'success' && method === 'eth_newBlockFilter') {
13
- request = transport.request;
14
- }
15
- });
6
+ const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
7
+ method: 'eth_newBlockFilter',
8
+ });
16
9
  const id = await client.request({
17
10
  method: 'eth_newBlockFilter',
18
11
  });
19
- return { id, request: request, type: 'block' };
12
+ return { id, request: getRequest(id), type: 'block' };
20
13
  }
21
14
  exports.createBlockFilter = createBlockFilter;
22
15
  //# sourceMappingURL=createBlockFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":";;;AAOO,KAAK,UAAU,iBAAiB,CACrC,MAAuC;IAEvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,oBAAoB,EAAE;gBAC3D,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAA8B,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvE,CAAC;AAtBD,8CAsBC"}
1
+ {"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":";;;AAEA,iGAA0F;AAInF,KAAK,UAAU,iBAAiB,CACrC,MAAuC;IAEvC,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvD,CAAC;AAVD,8CAUC"}
@@ -2,18 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createContractEventFilter = void 0;
4
4
  const index_js_1 = require("../../utils/index.js");
5
+ const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
5
6
  async function createContractEventFilter(client, { address, abi, args, eventName, fromBlock, toBlock, }) {
6
- let request = client.request;
7
- // If the transport is a fallback, we want to scope the request function
8
- // to the successful child transport. This is because we want to keep the
9
- // request function scoped & don't want to apply the fallback behavior to
10
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
11
- if (client.transport.type === 'fallback')
12
- client.transport.onResponse(({ method, status, transport }) => {
13
- if (status === 'success' && method === 'eth_newFilter') {
14
- request = transport.request;
15
- }
16
- });
7
+ const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
8
+ method: 'eth_newFilter',
9
+ });
17
10
  const topics = eventName
18
11
  ? (0, index_js_1.encodeEventTopics)({
19
12
  abi,
@@ -37,7 +30,7 @@ async function createContractEventFilter(client, { address, abi, args, eventName
37
30
  args,
38
31
  eventName,
39
32
  id,
40
- request,
33
+ request: getRequest(id),
41
34
  type: 'event',
42
35
  };
43
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":";;;AAYA,mDAAqE;AAuC9D,KAAK,UAAU,yBAAyB,CAM7C,MAAuC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACsD;IAE/D,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,EAAE;gBACtD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,IAAA,4BAAiB,EAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO;QACP,IAAI,EAAE,OAAO;KAC6D,CAAA;AAC9E,CAAC;AA1DD,8DA0DC"}
1
+ {"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":";;;AAYA,mDAAqE;AAErE,iGAA0F;AAqCnF,KAAK,UAAU,yBAAyB,CAM7C,MAAuC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACsD;IAE/D,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,IAAA,4BAAiB,EAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,IAAI,EAAE,OAAO;KAC6D,CAAA;AAC9E,CAAC;AA/CD,8DA+CC"}
@@ -2,18 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createEventFilter = void 0;
4
4
  const index_js_1 = require("../../utils/index.js");
5
+ const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
5
6
  async function createEventFilter(client, { address, args, event, fromBlock, toBlock, } = {}) {
6
- let request = client.request;
7
- // If the transport is a fallback, we want to scope the request function
8
- // to the successful child transport. This is because we want to keep the
9
- // request function scoped & don't want to apply the fallback behavior to
10
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
11
- if (client.transport.type === 'fallback')
12
- client.transport.onResponse(({ method, status, transport }) => {
13
- if (status === 'success' && method === 'eth_newFilter') {
14
- request = transport.request;
15
- }
16
- });
7
+ const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
8
+ method: 'eth_newFilter',
9
+ });
17
10
  let topics = [];
18
11
  if (event)
19
12
  topics = (0, index_js_1.encodeEventTopics)({
@@ -37,7 +30,7 @@ async function createEventFilter(client, { address, args, event, fromBlock, toBl
37
30
  args,
38
31
  eventName: event ? event.name : undefined,
39
32
  id,
40
- request,
33
+ request: getRequest(id),
41
34
  type: 'event',
42
35
  };
43
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":";;;AAcA,mDAAqE;AAgD9D,KAAK,UAAU,iBAAiB,CASrC,MAAuC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,MAML,EAAS;IAEb,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,EAAE;gBACtD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,KAAK;QACP,MAAM,GAAG,IAAA,4BAAiB,EAAC;YACzB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAAA;IAEnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAChC,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,EAAE;QACF,OAAO;QACP,IAAI,EAAE,OAAO;KAMd,CAAA;AACH,CAAC;AAvED,8CAuEC"}
1
+ {"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":";;;AAcA,mDAAqE;AAErE,iGAA0F;AA8CnF,KAAK,UAAU,iBAAiB,CASrC,MAAuC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,MAML,EAAS;IAEb,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,KAAK;QACP,MAAM,GAAG,IAAA,4BAAiB,EAAC;YACzB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAAA;IAEnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAChC,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,IAAI,EAAE,OAAO;KAMd,CAAA;AACH,CAAC;AA7DD,8CA6DC"}
@@ -1,23 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPendingTransactionFilter = void 0;
4
+ const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
4
5
  async function createPendingTransactionFilter(client) {
5
- let request = client.request;
6
- // If the transport is a fallback, we want to scope the request function
7
- // to the successful child transport. This is because we want to keep the
8
- // request function scoped & don't want to apply the fallback behavior to
9
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
10
- if (client.transport.type === 'fallback')
11
- client.transport.onResponse?.(({ method, status, transport }) => {
12
- if (status === 'success' &&
13
- method === 'eth_newPendingTransactionFilter') {
14
- request = transport.request;
15
- }
16
- });
6
+ const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
7
+ method: 'eth_newPendingTransactionFilter',
8
+ });
17
9
  const id = await client.request({
18
10
  method: 'eth_newPendingTransactionFilter',
19
11
  });
20
- return { id, request: request, type: 'transaction' };
12
+ return { id, request: getRequest(id), type: 'transaction' };
21
13
  }
22
14
  exports.createPendingTransactionFilter = createPendingTransactionFilter;
23
15
  //# sourceMappingURL=createPendingTransactionFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":";;;AAOO,KAAK,UAAU,8BAA8B,CAIlD,MAAwC;IAExC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAC3B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IACE,MAAM,KAAK,SAAS;gBACpB,MAAM,KAAK,iCAAiC,EAC5C;gBACA,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAA8B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7E,CAAC;AA5BD,wEA4BC"}
1
+ {"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":";;;AAEA,iGAA0F;AAInF,KAAK,UAAU,8BAA8B,CAIlD,MAAwC;IAExC,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7D,CAAC;AAbD,wEAaC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/clients/transports/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/clients/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.3.0-jxom-scope-filters.20230411T014605';
4
+ exports.version = '0.3.0-jxom-scope-filters.20230411T061732';
5
5
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFilterRequestScope = void 0;
4
+ /**
5
+ * Scopes `request` to the filter ID. If the client is a fallback, it will
6
+ * listen for responses and scope the child transport `request` function
7
+ * to the successful filter ID.
8
+ */
9
+ function createFilterRequestScope(client, { method }) {
10
+ const requestMap = {};
11
+ if (client.transport.type === 'fallback')
12
+ client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => {
13
+ if (status === 'success' && method === method_)
14
+ requestMap[id] = transport.request;
15
+ });
16
+ return ((id) => requestMap[id] || client.request);
17
+ }
18
+ exports.createFilterRequestScope = createFilterRequestScope;
19
+ //# sourceMappingURL=createFilterRequestScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFilterRequestScope.js","sourceRoot":"","sources":["../../../../src/utils/filters/createFilterRequestScope.ts"],"names":[],"mappings":";;;AAeA;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,MAAuC,EACvC,EAAE,MAAM,EAAsC;IAE9C,MAAM,UAAU,GAA4D,EAAE,CAAA;IAE9E,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAC3B,CAAC,EACC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,EAAE,EACZ,MAAM,EACN,SAAS,GACmB,EAAE,EAAE;YAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO;gBAC5C,UAAU,CAAC,EAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAA;QAC7C,CAAC,CACF,CAAA;IAEH,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CACb,UAAU,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAuC,CAAA;AAC3E,CAAC;AArBD,4DAqBC"}
@@ -1,18 +1,11 @@
1
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';
1
2
  export async function createBlockFilter(client) {
2
- let request = client.request;
3
- // If the transport is a fallback, we want to scope the request function
4
- // to the successful child transport. This is because we want to keep the
5
- // request function scoped & don't want to apply the fallback behavior to
6
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
7
- if (client.transport.type === 'fallback')
8
- client.transport.onResponse(({ method, status, transport }) => {
9
- if (status === 'success' && method === 'eth_newBlockFilter') {
10
- request = transport.request;
11
- }
12
- });
3
+ const getRequest = createFilterRequestScope(client, {
4
+ method: 'eth_newBlockFilter',
5
+ });
13
6
  const id = await client.request({
14
7
  method: 'eth_newBlockFilter',
15
8
  });
16
- return { id, request: request, type: 'block' };
9
+ return { id, request: getRequest(id), type: 'block' };
17
10
  }
18
11
  //# sourceMappingURL=createBlockFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuC;IAEvC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,oBAAoB,EAAE;gBAC3D,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAA8B,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAI1F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuC;IAEvC,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvD,CAAC"}
@@ -1,16 +1,9 @@
1
1
  import { encodeEventTopics, numberToHex } from '../../utils/index.js';
2
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';
2
3
  export async function createContractEventFilter(client, { address, abi, args, eventName, fromBlock, toBlock, }) {
3
- let request = client.request;
4
- // If the transport is a fallback, we want to scope the request function
5
- // to the successful child transport. This is because we want to keep the
6
- // request function scoped & don't want to apply the fallback behavior to
7
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
8
- if (client.transport.type === 'fallback')
9
- client.transport.onResponse(({ method, status, transport }) => {
10
- if (status === 'success' && method === 'eth_newFilter') {
11
- request = transport.request;
12
- }
13
- });
4
+ const getRequest = createFilterRequestScope(client, {
5
+ method: 'eth_newFilter',
6
+ });
14
7
  const topics = eventName
15
8
  ? encodeEventTopics({
16
9
  abi,
@@ -34,7 +27,7 @@ export async function createContractEventFilter(client, { address, abi, args, ev
34
27
  args,
35
28
  eventName,
36
29
  id,
37
- request,
30
+ request: getRequest(id),
38
31
  type: 'event',
39
32
  };
40
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAuCrE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAM7C,MAAuC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACsD;IAE/D,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,EAAE;gBACtD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,iBAAiB,CAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO;QACP,IAAI,EAAE,OAAO;KAC6D,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAqC1F,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAM7C,MAAuC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACsD;IAE/D,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,iBAAiB,CAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,IAAI,EAAE,OAAO;KAC6D,CAAA;AAC9E,CAAC"}
@@ -1,16 +1,9 @@
1
1
  import { encodeEventTopics, numberToHex } from '../../utils/index.js';
2
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';
2
3
  export async function createEventFilter(client, { address, args, event, fromBlock, toBlock, } = {}) {
3
- let request = client.request;
4
- // If the transport is a fallback, we want to scope the request function
5
- // to the successful child transport. This is because we want to keep the
6
- // request function scoped & don't want to apply the fallback behavior to
7
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
8
- if (client.transport.type === 'fallback')
9
- client.transport.onResponse(({ method, status, transport }) => {
10
- if (status === 'success' && method === 'eth_newFilter') {
11
- request = transport.request;
12
- }
13
- });
4
+ const getRequest = createFilterRequestScope(client, {
5
+ method: 'eth_newFilter',
6
+ });
14
7
  let topics = [];
15
8
  if (event)
16
9
  topics = encodeEventTopics({
@@ -34,7 +27,7 @@ export async function createEventFilter(client, { address, args, event, fromBloc
34
27
  args,
35
28
  eventName: event ? event.name : undefined,
36
29
  id,
37
- request,
30
+ request: getRequest(id),
38
31
  type: 'event',
39
32
  };
40
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAgDrE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CASrC,MAAuC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,MAML,EAAS;IAEb,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,CACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,EAAE;gBACtD,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,KAAK;QACP,MAAM,GAAG,iBAAiB,CAAC;YACzB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAAA;IAEnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IACF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAChC,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,EAAE;QACF,OAAO;QACP,IAAI,EAAE,OAAO;KAMd,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AA8C1F,MAAM,CAAC,KAAK,UAAU,iBAAiB,CASrC,MAAuC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,MAML,EAAS;IAEb,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,KAAK;QACP,MAAM,GAAG,iBAAiB,CAAC;YACzB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAAA;IAEnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QAChC,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,IAAI,EAAE,OAAO;KAMd,CAAA;AACH,CAAC"}
@@ -1,19 +1,11 @@
1
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js';
1
2
  export async function createPendingTransactionFilter(client) {
2
- let request = client.request;
3
- // If the transport is a fallback, we want to scope the request function
4
- // to the successful child transport. This is because we want to keep the
5
- // request function scoped & don't want to apply the fallback behavior to
6
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
7
- if (client.transport.type === 'fallback')
8
- client.transport.onResponse?.(({ method, status, transport }) => {
9
- if (status === 'success' &&
10
- method === 'eth_newPendingTransactionFilter') {
11
- request = transport.request;
12
- }
13
- });
3
+ const getRequest = createFilterRequestScope(client, {
4
+ method: 'eth_newPendingTransactionFilter',
5
+ });
14
6
  const id = await client.request({
15
7
  method: 'eth_newPendingTransactionFilter',
16
8
  });
17
- return { id, request: request, type: 'transaction' };
9
+ return { id, request: getRequest(id), type: 'transaction' };
18
10
  }
19
11
  //# sourceMappingURL=createPendingTransactionFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAIlD,MAAwC;IAExC,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAE5B,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAC3B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAA+B,EAAE,EAAE;YAC7D,IACE,MAAM,KAAK,SAAS;gBACpB,MAAM,KAAK,iCAAiC,EAC5C;gBACA,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;aAC5B;QACH,CAAC,CACF,CAAA;IAEH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAA8B,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAI1F,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAIlD,MAAwC;IAExC,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/clients/transports/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../../src/clients/transports/fallback.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = '0.3.0-jxom-scope-filters.20230411T014605';
1
+ export const version = '0.3.0-jxom-scope-filters.20230411T061732';
2
2
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Scopes `request` to the filter ID. If the client is a fallback, it will
3
+ * listen for responses and scope the child transport `request` function
4
+ * to the successful filter ID.
5
+ */
6
+ export function createFilterRequestScope(client, { method }) {
7
+ const requestMap = {};
8
+ if (client.transport.type === 'fallback')
9
+ client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => {
10
+ if (status === 'success' && method === method_)
11
+ requestMap[id] = transport.request;
12
+ });
13
+ return ((id) => requestMap[id] || client.request);
14
+ }
15
+ //# sourceMappingURL=createFilterRequestScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFilterRequestScope.js","sourceRoot":"","sources":["../../../../src/utils/filters/createFilterRequestScope.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAuC,EACvC,EAAE,MAAM,EAAsC;IAE9C,MAAM,UAAU,GAA4D,EAAE,CAAA;IAE9E,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAC3B,CAAC,EACC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,EAAE,EACZ,MAAM,EACN,SAAS,GACmB,EAAE,EAAE;YAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO;gBAC5C,UAAU,CAAC,EAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAA;QAC7C,CAAC,CACF,CAAA;IAEH,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CACb,UAAU,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAuC,CAAA;AAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createBlockFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAEzD,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAoBtC"}
1
+ {"version":3,"file":"createBlockFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createBlockFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGzD,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAEzD,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,2BAA2B,CAAC,CAQtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createContractEventFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACL,cAAc,EACd,MAAM,EACN,4BAA4B,EAC7B,MAAM,sBAAsB,CAAA;AAK7B,MAAM,MAAM,mCAAmC,CAC7C,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACjD,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5C,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;CACjC,GAAG,CAAC,SAAS,SAAS,UAAU,GAC7B;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,GACD,4BAA4B,CAC1B,IAAI,EACJ,UAAU,CACX,SAAS,MAAM,gBAAgB,GAChC;IACE,IAAI,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,SAAS,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;CAC3E,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAC,CAAA;AAEN,MAAM,MAAM,mCAAmC,CAC7C,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACjD,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;AAE5C,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,KAAK,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,SAAS,EAExE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACR,EAAE,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GAC9D,OAAO,CAAC,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CA2CvE"}
1
+ {"version":3,"file":"createContractEventFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createContractEventFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACL,cAAc,EACd,MAAM,EACN,4BAA4B,EAC7B,MAAM,sBAAsB,CAAA;AAK7B,MAAM,MAAM,mCAAmC,CAC7C,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACjD,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC5C,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;CACjC,GAAG,CAAC,SAAS,SAAS,UAAU,GAC7B;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,GACD,4BAA4B,CAC1B,IAAI,EACJ,UAAU,CACX,SAAS,MAAM,gBAAgB,GAChC;IACE,IAAI,CAAC,EAAE,gBAAgB,GAAG,CAAC,KAAK,SAAS,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;CAC3E,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAC,CAAA;AAEN,MAAM,MAAM,mCAAmC,CAC7C,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACjD,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;AAE5C,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,UAAU,SAAS,MAAM,GAAG,SAAS,EACrC,KAAK,SAAS,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,SAAS,EAExE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,OAAO,EACP,GAAG,EACH,IAAI,EACJ,SAAS,EACT,SAAS,EACT,OAAO,GACR,EAAE,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GAC9D,OAAO,CAAC,mCAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAgCvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"createEventFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACL,MAAM,EAEN,iBAAiB,EACjB,4BAA4B,EAC5B,QAAQ,EACT,MAAM,sBAAsB,CAAA;AAK7B,MAAM,MAAM,2BAA2B,CACrC,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAClD,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;CACjC,GAAG,CAAC,4BAA4B,CAC/B,IAAI,EACJ,UAAU,CACX,SAAS,MAAM,gBAAgB,GAExB;IACE,IAAI,EACA,gBAAgB,GAChB,CAAC,KAAK,SAAS,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;IACpD,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACzB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CAC1B,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GACL;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAC,CAAA;AAEN,MAAM,MAAM,2BAA2B,CACrC,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAClD,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtD,wBAAsB,iBAAiB,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,SAAS,SAAS,QAAQ,GAAG,SAAS,EACtC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,EAEzB,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,GACR,GAAE,2BAA2B,CAC5B,SAAS,EACT,IAAI,EACJ,UAAU,EACV,KAAK,CACM,GACZ,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAiD1E"}
1
+ {"version":3,"file":"createEventFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createEventFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACL,MAAM,EAEN,iBAAiB,EACjB,4BAA4B,EAC5B,QAAQ,EACT,MAAM,sBAAsB,CAAA;AAK7B,MAAM,MAAM,2BAA2B,CACrC,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAClD,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB;IACF,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAA;IAC7B,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;CACjC,GAAG,CAAC,4BAA4B,CAC/B,IAAI,EACJ,UAAU,CACX,SAAS,MAAM,gBAAgB,GAExB;IACE,IAAI,EACA,gBAAgB,GAChB,CAAC,KAAK,SAAS,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC,CAAA;IACpD,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACzB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CAC1B,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,GACL;IACE,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAC,CAAA;AAEN,MAAM,MAAM,2BAA2B,CACrC,SAAS,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,EAClD,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,IACvB,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;AAEtD,wBAAsB,iBAAiB,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,SAAS,SAAS,QAAQ,GAAG,SAAS,EACtC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EACnD,UAAU,SAAS,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,EACpE,KAAK,SACD,4BAA4B,CAAC,IAAI,EAAE,UAAU,CAAC,GAC9C,SAAS,GAAG,SAAS,EAEzB,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,SAAS,EACT,OAAO,GACR,GAAE,2BAA2B,CAC5B,SAAS,EACT,IAAI,EACJ,UAAU,EACV,KAAK,CACM,GACZ,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAuC1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"createPendingTransactionFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAEzD,MAAM,MAAM,wCAAwC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAE5E,wBAAsB,8BAA8B,CAClD,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,wCAAwC,CAAC,CAuBnD"}
1
+ {"version":3,"file":"createPendingTransactionFilter.d.ts","sourceRoot":"","sources":["../../../../src/actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGzD,MAAM,MAAM,wCAAwC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAE5E,wBAAsB,8BAA8B,CAClD,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,wCAAwC,CAAC,CAQnD"}
@@ -1,2 +1,2 @@
1
- export declare const version = "0.3.0-jxom-scope-filters.20230411T014605";
1
+ export declare const version = "0.3.0-jxom-scope-filters.20230411T061732";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,16 @@
1
+ import type { Chain } from '../../chains.js';
2
+ import type { PublicClient, Transport } from '../../clients/index.js';
3
+ import type { Requests } from '../../types/eip1193.js';
4
+ import type { Hex } from '../../types/index.js';
5
+ type CreateFilterRequestScopeParameters = {
6
+ method: 'eth_newFilter' | 'eth_newPendingTransactionFilter' | 'eth_newBlockFilter';
7
+ };
8
+ type CreateFilterRequestScopeReturnType = (id: Hex) => Requests['request'];
9
+ /**
10
+ * Scopes `request` to the filter ID. If the client is a fallback, it will
11
+ * listen for responses and scope the child transport `request` function
12
+ * to the successful filter ID.
13
+ */
14
+ export declare function createFilterRequestScope<TChain extends Chain | undefined>(client: PublicClient<Transport, TChain>, { method }: CreateFilterRequestScopeParameters): CreateFilterRequestScopeReturnType;
15
+ export {};
16
+ //# sourceMappingURL=createFilterRequestScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createFilterRequestScope.d.ts","sourceRoot":"","sources":["../../../../src/utils/filters/createFilterRequestScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE/C,KAAK,kCAAkC,GAAG;IACxC,MAAM,EACF,eAAe,GACf,iCAAiC,GACjC,oBAAoB,CAAA;CACzB,CAAA;AAED,KAAK,kCAAkC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAA;AAE1E;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACvE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EAAE,MAAM,EAAE,EAAE,kCAAkC,GAC7C,kCAAkC,CAkBpC"}
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "isomorphic-ws": "5.0.0",
13
13
  "ws": "8.12.0"
14
14
  },
15
- "version": "0.3.0-jxom-scope-filters.20230411T014605",
15
+ "version": "0.3.0-jxom-scope-filters.20230411T061732",
16
16
  "files": [
17
17
  "dist",
18
18
  "!dist/**/*.tsbuildinfo",
@@ -1,30 +1,17 @@
1
1
  import type { PublicClient, Transport } from '../../clients/index.js'
2
- import type { OnResponseFn } from '../../clients/transports/fallback.js'
3
- import type { Requests } from '../../types/eip1193.js'
4
2
  import type { Chain, Filter } from '../../types/index.js'
3
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'
5
4
 
6
5
  export type CreateBlockFilterReturnType = Filter<'block'>
7
6
 
8
7
  export async function createBlockFilter<TChain extends Chain | undefined>(
9
8
  client: PublicClient<Transport, TChain>,
10
9
  ): Promise<CreateBlockFilterReturnType> {
11
- let request = client.request
12
-
13
- // If the transport is a fallback, we want to scope the request function
14
- // to the successful child transport. This is because we want to keep the
15
- // request function scoped & don't want to apply the fallback behavior to
16
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
17
- if (client.transport.type === 'fallback')
18
- client.transport.onResponse(
19
- ({ method, status, transport }: Parameters<OnResponseFn>[0]) => {
20
- if (status === 'success' && method === 'eth_newBlockFilter') {
21
- request = transport.request
22
- }
23
- },
24
- )
25
-
10
+ const getRequest = createFilterRequestScope(client, {
11
+ method: 'eth_newBlockFilter',
12
+ })
26
13
  const id = await client.request({
27
14
  method: 'eth_newBlockFilter',
28
15
  })
29
- return { id, request: request as Requests['request'], type: 'block' }
16
+ return { id, request: getRequest(id), type: 'block' }
30
17
  }
@@ -12,7 +12,7 @@ import type {
12
12
  } from '../../types/index.js'
13
13
  import { encodeEventTopics, numberToHex } from '../../utils/index.js'
14
14
  import type { EncodeEventTopicsParameters } from '../../utils/index.js'
15
- import type { OnResponseFn } from '../../clients/transports/fallback.js'
15
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'
16
16
 
17
17
  export type CreateContractEventFilterParameters<
18
18
  TAbi extends Abi | readonly unknown[] = Abi,
@@ -65,20 +65,9 @@ export async function createContractEventFilter<
65
65
  toBlock,
66
66
  }: CreateContractEventFilterParameters<TAbi, TEventName, TArgs>,
67
67
  ): Promise<CreateContractEventFilterReturnType<TAbi, TEventName, TArgs>> {
68
- let request = client.request
69
-
70
- // If the transport is a fallback, we want to scope the request function
71
- // to the successful child transport. This is because we want to keep the
72
- // request function scoped & don't want to apply the fallback behavior to
73
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
74
- if (client.transport.type === 'fallback')
75
- client.transport.onResponse(
76
- ({ method, status, transport }: Parameters<OnResponseFn>[0]) => {
77
- if (status === 'success' && method === 'eth_newFilter') {
78
- request = transport.request
79
- }
80
- },
81
- )
68
+ const getRequest = createFilterRequestScope(client, {
69
+ method: 'eth_newFilter',
70
+ })
82
71
 
83
72
  const topics = eventName
84
73
  ? encodeEventTopics({
@@ -104,7 +93,7 @@ export async function createContractEventFilter<
104
93
  args,
105
94
  eventName,
106
95
  id,
107
- request,
96
+ request: getRequest(id),
108
97
  type: 'event',
109
98
  } as unknown as CreateContractEventFilterReturnType<TAbi, TEventName, TArgs>
110
99
  }
@@ -14,7 +14,7 @@ import type {
14
14
  } from '../../types/index.js'
15
15
  import { encodeEventTopics, numberToHex } from '../../utils/index.js'
16
16
  import type { EncodeEventTopicsParameters } from '../../utils/index.js'
17
- import type { OnResponseFn } from '../../clients/transports/fallback.js'
17
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'
18
18
 
19
19
  export type CreateEventFilterParameters<
20
20
  TAbiEvent extends AbiEvent | undefined = undefined,
@@ -83,20 +83,9 @@ export async function createEventFilter<
83
83
  _Args
84
84
  > = {} as any,
85
85
  ): Promise<CreateEventFilterReturnType<TAbiEvent, _Abi, _EventName, _Args>> {
86
- let request = client.request
87
-
88
- // If the transport is a fallback, we want to scope the request function
89
- // to the successful child transport. This is because we want to keep the
90
- // request function scoped & don't want to apply the fallback behavior to
91
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
92
- if (client.transport.type === 'fallback')
93
- client.transport.onResponse(
94
- ({ method, status, transport }: Parameters<OnResponseFn>[0]) => {
95
- if (status === 'success' && method === 'eth_newFilter') {
96
- request = transport.request
97
- }
98
- },
99
- )
86
+ const getRequest = createFilterRequestScope(client, {
87
+ method: 'eth_newFilter',
88
+ })
100
89
 
101
90
  let topics: LogTopic[] = []
102
91
  if (event)
@@ -118,12 +107,13 @@ export async function createEventFilter<
118
107
  },
119
108
  ],
120
109
  })
110
+
121
111
  return {
122
112
  abi: event ? [event] : undefined,
123
113
  args,
124
114
  eventName: event ? (event as AbiEvent).name : undefined,
125
115
  id,
126
- request,
116
+ request: getRequest(id),
127
117
  type: 'event',
128
118
  } as unknown as CreateEventFilterReturnType<
129
119
  TAbiEvent,
@@ -1,7 +1,6 @@
1
1
  import type { PublicClient, Transport } from '../../clients/index.js'
2
- import type { OnResponseFn } from '../../clients/transports/fallback.js'
3
- import type { Requests } from '../../types/eip1193.js'
4
2
  import type { Chain, Filter } from '../../types/index.js'
3
+ import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'
5
4
 
6
5
  export type CreatePendingTransactionFilterReturnType = Filter<'transaction'>
7
6
 
@@ -11,26 +10,11 @@ export async function createPendingTransactionFilter<
11
10
  >(
12
11
  client: PublicClient<TTransport, TChain>,
13
12
  ): Promise<CreatePendingTransactionFilterReturnType> {
14
- let request = client.request
15
-
16
- // If the transport is a fallback, we want to scope the request function
17
- // to the successful child transport. This is because we want to keep the
18
- // request function scoped & don't want to apply the fallback behavior to
19
- // methods such as `eth_getFilterChanges`, `eth_getFilterLogs`, etc.
20
- if (client.transport.type === 'fallback')
21
- client.transport.onResponse?.(
22
- ({ method, status, transport }: Parameters<OnResponseFn>[0]) => {
23
- if (
24
- status === 'success' &&
25
- method === 'eth_newPendingTransactionFilter'
26
- ) {
27
- request = transport.request
28
- }
29
- },
30
- )
31
-
13
+ const getRequest = createFilterRequestScope(client, {
14
+ method: 'eth_newPendingTransactionFilter',
15
+ })
32
16
  const id = await client.request({
33
17
  method: 'eth_newPendingTransactionFilter',
34
18
  })
35
- return { id, request: request as Requests['request'], type: 'transaction' }
19
+ return { id, request: getRequest(id), type: 'transaction' }
36
20
  }
@@ -118,7 +118,7 @@ export function fallback(
118
118
  return response
119
119
  } catch (err) {
120
120
  onResponse({
121
- error: err,
121
+ error: err as Error,
122
122
  method,
123
123
  params: params as unknown[],
124
124
  transport,
@@ -1 +1 @@
1
- export const version = '0.3.0-jxom-scope-filters.20230411T014605'
1
+ export const version = '0.3.0-jxom-scope-filters.20230411T061732'
@@ -14,7 +14,7 @@ export type Filter<
14
14
  | undefined = MaybeExtractEventArgsFromAbi<TAbi, TEventName>,
15
15
  > = {
16
16
  id: Hex
17
- // TODO: Narrow to only filter-based methods.
17
+ // TODO: Narrow `request` to filter-based methods (ie. `eth_getFilterLogs`, etc).
18
18
  request: Requests['request']
19
19
  type: TFilterType
20
20
  } & (TFilterType extends 'event'
@@ -0,0 +1,42 @@
1
+ import type { Chain } from '../../chains.js'
2
+ import type { PublicClient, Transport } from '../../clients/index.js'
3
+ import type { OnResponseFn } from '../../clients/transports/fallback.js'
4
+ import type { Requests } from '../../types/eip1193.js'
5
+ import type { Hex } from '../../types/index.js'
6
+
7
+ type CreateFilterRequestScopeParameters = {
8
+ method:
9
+ | 'eth_newFilter'
10
+ | 'eth_newPendingTransactionFilter'
11
+ | 'eth_newBlockFilter'
12
+ }
13
+ // TODO: Narrow `request` to filter-based methods (ie. `eth_getFilterLogs`, etc).
14
+ type CreateFilterRequestScopeReturnType = (id: Hex) => Requests['request']
15
+
16
+ /**
17
+ * Scopes `request` to the filter ID. If the client is a fallback, it will
18
+ * listen for responses and scope the child transport `request` function
19
+ * to the successful filter ID.
20
+ */
21
+ export function createFilterRequestScope<TChain extends Chain | undefined>(
22
+ client: PublicClient<Transport, TChain>,
23
+ { method }: CreateFilterRequestScopeParameters,
24
+ ): CreateFilterRequestScopeReturnType {
25
+ const requestMap: Record<Hex, PublicClient<Transport, TChain>['request']> = {}
26
+
27
+ if (client.transport.type === 'fallback')
28
+ client.transport.onResponse?.(
29
+ ({
30
+ method: method_,
31
+ response: id,
32
+ status,
33
+ transport,
34
+ }: Parameters<OnResponseFn>[0]) => {
35
+ if (status === 'success' && method === method_)
36
+ requestMap[id as Hex] = transport.request
37
+ },
38
+ )
39
+
40
+ return ((id) =>
41
+ requestMap[id] || client.request) as CreateFilterRequestScopeReturnType
42
+ }