@woof-software/contracts-tools-sdk-ethers 0.0.1

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 (103) hide show
  1. package/README.md +8 -0
  2. package/lib/abis/index.d.ts +2 -0
  3. package/lib/abis/index.js +2 -0
  4. package/lib/abis/multicall.abi.json +440 -0
  5. package/lib/config.d.ts +37 -0
  6. package/lib/config.js +38 -0
  7. package/lib/constant.d.ts +12 -0
  8. package/lib/constant.js +12 -0
  9. package/lib/contract/base-contract.d.ts +23 -0
  10. package/lib/contract/base-contract.js +191 -0
  11. package/lib/contract/contract-create-call-name.d.ts +1 -0
  12. package/lib/contract/contract-create-call-name.js +1 -0
  13. package/lib/contract/index.d.ts +1 -0
  14. package/lib/contract/index.js +1 -0
  15. package/lib/errors/contracts-errors.d.ts +9 -0
  16. package/lib/errors/contracts-errors.js +9 -0
  17. package/lib/errors/index.d.ts +2 -0
  18. package/lib/errors/index.js +2 -0
  19. package/lib/errors/multicall-errors.d.ts +8 -0
  20. package/lib/errors/multicall-errors.js +8 -0
  21. package/lib/helpers/index.d.ts +6 -0
  22. package/lib/helpers/index.js +6 -0
  23. package/lib/helpers/is-parsable.d.ts +2 -0
  24. package/lib/helpers/is-parsable.js +1 -0
  25. package/lib/helpers/is-signer.d.ts +2 -0
  26. package/lib/helpers/is-signer.js +3 -0
  27. package/lib/helpers/is-static-array.d.ts +2 -0
  28. package/lib/helpers/is-static-array.js +2 -0
  29. package/lib/helpers/is-static-method.d.ts +2 -0
  30. package/lib/helpers/is-static-method.js +4 -0
  31. package/lib/helpers/priority-call.d.ts +5 -0
  32. package/lib/helpers/priority-call.js +55 -0
  33. package/lib/helpers/wait-for-address-txs.d.ts +2 -0
  34. package/lib/helpers/wait-for-address-txs.js +9 -0
  35. package/lib/index.d.ts +5 -0
  36. package/lib/index.js +5 -0
  37. package/lib/multicall/index.d.ts +5 -0
  38. package/lib/multicall/index.js +5 -0
  39. package/lib/multicall/multicall-error-event-name.d.ts +2 -0
  40. package/lib/multicall/multicall-error-event-name.js +1 -0
  41. package/lib/multicall/multicall-generate-tag.d.ts +1 -0
  42. package/lib/multicall/multicall-generate-tag.js +1 -0
  43. package/lib/multicall/multicall-normalize-tags.d.ts +2 -0
  44. package/lib/multicall/multicall-normalize-tags.js +6 -0
  45. package/lib/multicall/multicall-result-event-name.d.ts +2 -0
  46. package/lib/multicall/multicall-result-event-name.js +1 -0
  47. package/lib/multicall/multicall-split-calls.d.ts +2 -0
  48. package/lib/multicall/multicall-split-calls.js +19 -0
  49. package/lib/multicall/multicall-unit.d.ts +48 -0
  50. package/lib/multicall/multicall-unit.js +367 -0
  51. package/lib/types/call-mutability.d.ts +4 -0
  52. package/lib/types/call-mutability.js +5 -0
  53. package/lib/types/contract/contract-auto-methods.d.ts +13 -0
  54. package/lib/types/contract/contract-auto-methods.js +1 -0
  55. package/lib/types/contract/contract-call-options.d.ts +9 -0
  56. package/lib/types/contract/contract-call-options.js +1 -0
  57. package/lib/types/contract/contract-call.d.ts +10 -0
  58. package/lib/types/contract/contract-call.js +1 -0
  59. package/lib/types/contract/contract-get-logs-options.d.ts +5 -0
  60. package/lib/types/contract/contract-get-logs-options.js +1 -0
  61. package/lib/types/contract/contract-options.d.ts +12 -0
  62. package/lib/types/contract/contract-options.js +1 -0
  63. package/lib/types/contract/dynamic-contract-constructor-args.d.ts +8 -0
  64. package/lib/types/contract/dynamic-contract-constructor-args.js +1 -0
  65. package/lib/types/contract/dynamic-contract-constructor.d.ts +3 -0
  66. package/lib/types/contract/dynamic-contract-constructor.js +1 -0
  67. package/lib/types/contract/dynamic-contract.d.ts +3 -0
  68. package/lib/types/contract/dynamic-contract.js +1 -0
  69. package/lib/types/contract/index.d.ts +6 -0
  70. package/lib/types/contract/index.js +6 -0
  71. package/lib/types/index.d.ts +6 -0
  72. package/lib/types/index.js +6 -0
  73. package/lib/types/multicall/index.d.ts +5 -0
  74. package/lib/types/multicall/index.js +5 -0
  75. package/lib/types/multicall/multicall-decodable-data.d.ts +5 -0
  76. package/lib/types/multicall/multicall-decodable-data.js +1 -0
  77. package/lib/types/multicall/multicall-options.d.ts +15 -0
  78. package/lib/types/multicall/multicall-options.js +1 -0
  79. package/lib/types/multicall/multicall-response.d.ts +5 -0
  80. package/lib/types/multicall/multicall-response.js +1 -0
  81. package/lib/types/multicall/multicall-tags.d.ts +4 -0
  82. package/lib/types/multicall/multicall-tags.js +1 -0
  83. package/lib/types/multicall/multicall-wait-options.d.ts +5 -0
  84. package/lib/types/multicall/multicall-wait-options.js +1 -0
  85. package/lib/types/priority-call-options.d.ts +8 -0
  86. package/lib/types/priority-call-options.js +1 -0
  87. package/lib/types/split-calls.d.ts +9 -0
  88. package/lib/types/split-calls.js +1 -0
  89. package/lib/types/state-mutabiity.d.ts +6 -0
  90. package/lib/types/state-mutabiity.js +7 -0
  91. package/lib/utils/check-signals.d.ts +1 -0
  92. package/lib/utils/check-signals.js +4 -0
  93. package/lib/utils/create-signals-promise.d.ts +1 -0
  94. package/lib/utils/create-signals-promise.js +8 -0
  95. package/lib/utils/create-timeout-signal.d.ts +1 -0
  96. package/lib/utils/create-timeout-signal.js +5 -0
  97. package/lib/utils/index.d.ts +6 -0
  98. package/lib/utils/index.js +6 -0
  99. package/lib/utils/race-with-signals.d.ts +1 -0
  100. package/lib/utils/race-with-signals.js +9 -0
  101. package/lib/utils/wait-with-signals.d.ts +1 -0
  102. package/lib/utils/wait-with-signals.js +18 -0
  103. package/package.json +44 -0
@@ -0,0 +1,5 @@
1
+ export function createTimeoutSignal(ms) {
2
+ const controller = new AbortController();
3
+ setTimeout(() => controller.abort("Timeout exceeded"), ms);
4
+ return controller.signal;
5
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./create-timeout-signal";
2
+ export * from "./race-with-signals";
3
+ export * from "./create-signals-promise";
4
+ export * from "../helpers/priority-call";
5
+ export * from "./check-signals";
6
+ export * from "./wait-with-signals";
@@ -0,0 +1,6 @@
1
+ export * from "./create-timeout-signal";
2
+ export * from "./race-with-signals";
3
+ export * from "./create-signals-promise";
4
+ export * from "../helpers/priority-call";
5
+ export * from "./check-signals";
6
+ export * from "./wait-with-signals";
@@ -0,0 +1 @@
1
+ export declare function raceWithSignals<T>(racer: () => Promise<T>, signals?: AbortSignal[]): Promise<T>;
@@ -0,0 +1,9 @@
1
+ import { createSignalsPromise } from "./create-signals-promise";
2
+ export async function raceWithSignals(racer, signals = []) {
3
+ for (const signal of signals) {
4
+ if (signal.aborted) {
5
+ throw new DOMException("Operation aborted", "AbortError");
6
+ }
7
+ }
8
+ return Promise.race([racer(), createSignalsPromise(signals)]);
9
+ }
@@ -0,0 +1 @@
1
+ export declare function waitWithSignals(ms: number, signals?: AbortSignal[]): Promise<void>;
@@ -0,0 +1,18 @@
1
+ export function waitWithSignals(ms, signals = []) {
2
+ return new Promise((resolve, reject) => {
3
+ const timeout = setTimeout(resolve, ms);
4
+ if (signals.length) {
5
+ function onAbort(signal) {
6
+ clearTimeout(timeout);
7
+ reject(signal.reason || new Error("Operation aborted"));
8
+ }
9
+ for (const signal of signals) {
10
+ signal.addEventListener("abort", () => onAbort(signal), { once: true });
11
+ if (signal.aborted) {
12
+ onAbort(signal);
13
+ return;
14
+ }
15
+ }
16
+ }
17
+ });
18
+ }
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@woof-software/contracts-tools-sdk-ethers",
3
+ "description": "Module simplify smart contract interactions and multicall3 aggregation on the Ethereum blockchain and other EVM-compatible networks.",
4
+ "version": "0.0.1",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/woof-compound/sandbox-sdks.git"
8
+ },
9
+ "homepage": "https://github.com/woof-compound/sandbox-sdks#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/woof-compound/sandbox-sdks/issues"
12
+ },
13
+ "license": "MIT",
14
+ "main": "lib/index.js",
15
+ "type": "module",
16
+ "keywords": [
17
+ "local",
18
+ "library",
19
+ "npm"
20
+ ],
21
+ "files": [
22
+ "lib"
23
+ ],
24
+ "peerDependencies": {
25
+ "ethers": "^6.0.0"
26
+ },
27
+ "devDependencies": {
28
+ "typescript": "^5.7.2",
29
+ "vitest": "^3.0.5"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "scripts": {
35
+ "prepublish": "$npm_execpath build",
36
+ "build": "tsc --build tsconfig.build.json",
37
+ "test": "vitest run --coverage --config test/vitest-config/vitest.config.unit.ts",
38
+ "test:unit": "vitest run --coverage --config test/vitest-config/vitest.config.unit.ts",
39
+ "test:e2e": "vitest run --coverage --config test/vitest-config/vitest.config.e2e.ts",
40
+ "test:local": "vitest run --coverage --config test/vitest-config/vitest.config.local.ts",
41
+ "test:all": "vitest run --coverage --config test/vitest-config/vitest.config.all.ts"
42
+ },
43
+ "types": "lib/index.d.ts"
44
+ }