essential-eth 0.9.0 → 0.9.1-next.0

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 (106) hide show
  1. package/dist/cjs/classes/Contract.js +38 -34
  2. package/dist/cjs/classes/test/Contract/crv.test.js +146 -339
  3. package/dist/cjs/classes/test/Contract/ens-abi.d.ts +1 -1
  4. package/dist/cjs/classes/test/Contract/ens.test.js +9 -66
  5. package/dist/cjs/classes/test/Contract/fei.test.js +11 -11
  6. package/dist/cjs/classes/test/Contract/foo-abi.d.ts +1 -1
  7. package/dist/cjs/classes/test/Contract/uni.test.js +66 -164
  8. package/dist/cjs/classes/utils/clean-block.js +4 -4
  9. package/dist/cjs/classes/utils/clean-log.js +4 -4
  10. package/dist/cjs/classes/utils/clean-transaction-receipt.js +4 -4
  11. package/dist/cjs/classes/utils/clean-transaction.js +4 -4
  12. package/dist/cjs/classes/utils/encode-decode-transaction.js +10 -10
  13. package/dist/cjs/classes/utils/fetchers.d.ts +8 -2
  14. package/dist/cjs/classes/utils/fetchers.js +20 -12
  15. package/dist/cjs/classes/utils/prepare-transaction.js +4 -4
  16. package/dist/cjs/index.d.ts +21 -22
  17. package/dist/cjs/index.js +21 -22
  18. package/dist/cjs/index.umd.js +1 -1
  19. package/dist/cjs/index.umd.js.map +1 -1
  20. package/dist/cjs/logger/logger.js +79 -41
  21. package/dist/cjs/logger/package-version.d.ts +1 -1
  22. package/dist/cjs/logger/package-version.js +1 -1
  23. package/dist/cjs/providers/AlchemyProvider.js +22 -22
  24. package/dist/cjs/providers/BaseProvider.js +471 -404
  25. package/dist/cjs/providers/FallthroughProvider.js +62 -30
  26. package/dist/cjs/providers/JsonRpcProvider.js +52 -31
  27. package/dist/cjs/providers/test/fallthrough-provider/get-gas-price.test.js +9 -9
  28. package/dist/cjs/providers/test/get-transaction-count.test.js +54 -91
  29. package/dist/cjs/providers/test/json-rpc-provider/call.test.js +87 -148
  30. package/dist/cjs/providers/test/json-rpc-provider/estimate-gas.test.js +45 -116
  31. package/dist/cjs/providers/test/json-rpc-provider/get-balance.test.js +36 -74
  32. package/dist/cjs/providers/test/json-rpc-provider/get-block-number.test.js +13 -9
  33. package/dist/cjs/providers/test/json-rpc-provider/get-block.test.js +191 -254
  34. package/dist/cjs/providers/test/json-rpc-provider/get-code.test.js +106 -135
  35. package/dist/cjs/providers/test/json-rpc-provider/get-fee-data.test.js +48 -73
  36. package/dist/cjs/providers/test/json-rpc-provider/get-gas-price.test.js +11 -8
  37. package/dist/cjs/providers/test/json-rpc-provider/get-logs/get-logs.test.js +219 -0
  38. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.d.ts +14 -0
  39. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.js +149 -0
  40. package/dist/cjs/providers/test/json-rpc-provider/get-network.test.js +37 -79
  41. package/dist/cjs/providers/test/json-rpc-provider/get-transaction-receipt.test.js +136 -157
  42. package/dist/cjs/providers/test/json-rpc-provider/get-transaction.test.js +121 -162
  43. package/dist/cjs/providers/test/mock-of.js +0 -5
  44. package/dist/cjs/providers/test/rpc-urls.d.ts +1 -0
  45. package/dist/cjs/providers/test/rpc-urls.js +5 -4
  46. package/dist/cjs/providers/test/test-alchemy-provider.test.js +5 -5
  47. package/dist/cjs/providers/utils/chains-info.d.ts +5 -448
  48. package/dist/cjs/providers/utils/chains-info.js +13 -1344
  49. package/dist/cjs/shared/tiny-big/helpers.js +18 -18
  50. package/dist/cjs/shared/tiny-big/tiny-big.js +96 -56
  51. package/dist/cjs/shared/tiny-big/tiny-big.test.js +2 -2
  52. package/dist/cjs/shared/validate-type.d.ts +1 -1
  53. package/dist/cjs/shared/validate-type.js +4 -4
  54. package/dist/cjs/types/Block.types.d.ts +3 -3
  55. package/dist/cjs/types/Contract.types.d.ts +4 -4
  56. package/dist/cjs/types/Transaction.types.d.ts +5 -5
  57. package/dist/cjs/utils/bytes.d.ts +4 -4
  58. package/dist/cjs/utils/bytes.js +3 -3
  59. package/dist/cjs/utils/tests/bytes/arrayify.test.js +48 -24
  60. package/dist/cjs/utils/tests/bytes/concat.test.js +5 -3
  61. package/dist/cjs/utils/tests/bytes/hex-concat.test.js +15 -13
  62. package/dist/cjs/utils/tests/bytes/hex-data-length.test.js +49 -32
  63. package/dist/cjs/utils/tests/bytes/hex-data-slice.test.js +15 -16
  64. package/dist/cjs/utils/tests/bytes/hex-strip-zeros.test.js +57 -40
  65. package/dist/cjs/utils/tests/bytes/hex-value.test.js +118 -62
  66. package/dist/cjs/utils/tests/bytes/hex-zero-pad.test.js +71 -33
  67. package/dist/cjs/utils/tests/bytes/hexlify.test.js +45 -29
  68. package/dist/cjs/utils/tests/bytes/is-bytes-like.test.js +10 -11
  69. package/dist/cjs/utils/tests/bytes/is-bytes.test.js +70 -27
  70. package/dist/cjs/utils/tests/bytes/is-hex-string.test.js +37 -28
  71. package/dist/cjs/utils/tests/bytes/strip-zeros.test.js +94 -45
  72. package/dist/cjs/utils/tests/bytes/zero-pad.test.js +98 -34
  73. package/dist/cjs/utils/tests/compute-address.test.js +42 -20
  74. package/dist/cjs/utils/tests/compute-public-key.test.js +20 -9
  75. package/dist/cjs/utils/tests/ether-to-wei.test.js +5 -13
  76. package/dist/cjs/utils/tests/hash-message.test.js +26 -15
  77. package/dist/cjs/utils/tests/is-address.test.js +2 -9
  78. package/dist/cjs/utils/tests/keccak256.test.js +36 -12
  79. package/dist/cjs/utils/tests/solidity-keccak256.test.js +43 -42
  80. package/dist/cjs/utils/tests/split-signature.test.js +29 -8
  81. package/dist/cjs/utils/tests/to-checksum-address.test.js +1 -4
  82. package/dist/cjs/utils/tests/to-utf8-bytes.test.js +28 -8
  83. package/dist/cjs/utils/tests/wei-to-ether.test.js +10 -20
  84. package/dist/esm/classes/test/Contract/ens-abi.d.ts +1 -1
  85. package/dist/esm/classes/test/Contract/foo-abi.d.ts +1 -1
  86. package/dist/esm/classes/utils/fetchers.d.ts +8 -2
  87. package/dist/esm/classes/utils/fetchers.js +6 -3
  88. package/dist/esm/index.d.ts +21 -22
  89. package/dist/esm/index.js +16 -17
  90. package/dist/esm/logger/package-version.d.ts +1 -1
  91. package/dist/esm/logger/package-version.js +1 -1
  92. package/dist/esm/providers/FallthroughProvider.js +3 -3
  93. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.d.ts +14 -0
  94. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.js +142 -0
  95. package/dist/esm/providers/test/rpc-urls.d.ts +1 -0
  96. package/dist/esm/providers/test/rpc-urls.js +7 -4
  97. package/dist/esm/providers/utils/chains-info.d.ts +5 -448
  98. package/dist/esm/providers/utils/chains-info.js +13 -1344
  99. package/dist/esm/shared/validate-type.d.ts +1 -1
  100. package/dist/esm/types/Block.types.d.ts +3 -3
  101. package/dist/esm/types/Contract.types.d.ts +4 -4
  102. package/dist/esm/types/Transaction.types.d.ts +5 -5
  103. package/dist/esm/utils/bytes.d.ts +4 -4
  104. package/package.json +22 -50
  105. package/readme.md +15 -38
  106. package/dist/cjs/providers/test/json-rpc-provider/get-logs.test.js +0 -361
@@ -1,11 +1,3 @@
1
- function _arrayLikeToArray(arr, len) {
2
- if (len == null || len > arr.length) len = arr.length;
3
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
- return arr2;
5
- }
6
- function _arrayWithHoles(arr) {
7
- if (Array.isArray(arr)) return arr;
8
- }
9
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
2
  try {
11
3
  var info = gen[key](arg);
@@ -20,7 +12,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
20
12
  Promise.resolve(value).then(_next, _throw);
21
13
  }
22
14
  }
23
- function _asyncToGenerator(fn) {
15
+ function _async_to_generator(fn) {
24
16
  return function() {
25
17
  var self = this, args = arguments;
26
18
  return new Promise(function(resolve, reject) {
@@ -35,45 +27,7 @@ function _asyncToGenerator(fn) {
35
27
  });
36
28
  };
37
29
  }
38
- function _iterableToArrayLimit(arr, i) {
39
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
40
- if (_i == null) return;
41
- var _arr = [];
42
- var _n = true;
43
- var _d = false;
44
- var _s, _e;
45
- try {
46
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
47
- _arr.push(_s.value);
48
- if (i && _arr.length === i) break;
49
- }
50
- } catch (err) {
51
- _d = true;
52
- _e = err;
53
- } finally{
54
- try {
55
- if (!_n && _i["return"] != null) _i["return"]();
56
- } finally{
57
- if (_d) throw _e;
58
- }
59
- }
60
- return _arr;
61
- }
62
- function _nonIterableRest() {
63
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
- }
65
- function _slicedToArray(arr, i) {
66
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
67
- }
68
- function _unsupportedIterableToArray(o, minLen) {
69
- if (!o) return;
70
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
71
- var n = Object.prototype.toString.call(o).slice(8, -1);
72
- if (n === "Object" && o.constructor) n = o.constructor.name;
73
- if (n === "Map" || n === "Set") return Array.from(n);
74
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
75
- }
76
- var __generator = this && this.__generator || function(thisArg, body) {
30
+ function _ts_generator(thisArg, body) {
77
31
  var f, y, t, g, _ = {
78
32
  label: 0,
79
33
  sent: function() {
@@ -167,39 +121,47 @@ var __generator = this && this.__generator || function(thisArg, body) {
167
121
  done: true
168
122
  };
169
123
  }
170
- };
171
- import { ethers } from "ethers";
172
- import Web3 from "web3";
124
+ }
125
+ import * as unfetch from "isomorphic-unfetch";
173
126
  import { JsonRpcProvider } from "../../..";
127
+ import { buildFetchInit, buildRPCPostBody } from "../../../classes/utils/fetchers";
128
+ import { mockOf } from "../mock-of";
174
129
  import { rpcUrls } from "../rpc-urls";
130
+ jest.mock("isomorphic-unfetch");
175
131
  var address = "0x0000000000000000000000000000000000000001";
176
132
  function testGetBalance(rpcUrl, blockTag) {
177
133
  return _testGetBalance.apply(this, arguments);
178
134
  }
179
135
  function _testGetBalance() {
180
- _testGetBalance = _asyncToGenerator(function(rpcUrl, blockTag) {
181
- var eeProvider, ethersProvider, web3Provider, _ref, eeBalance, ethersBalance, web3Balance;
182
- return __generator(this, function(_state) {
136
+ _testGetBalance = _async_to_generator(function(rpcUrl, blockTag) {
137
+ var provider, mockPostResponse, spy, balance, expectedBlockTag;
138
+ return _ts_generator(this, function(_state) {
183
139
  switch(_state.label){
184
140
  case 0:
185
- eeProvider = new JsonRpcProvider(rpcUrl);
186
- ethersProvider = new ethers.providers.StaticJsonRpcProvider(rpcUrl);
187
- web3Provider = new Web3(rpcUrl);
141
+ provider = new JsonRpcProvider(rpcUrl);
142
+ mockPostResponse = JSON.stringify({
143
+ jsonrpc: "2.0",
144
+ id: 1,
145
+ result: "0xa"
146
+ });
147
+ mockOf(unfetch.default).mockResolvedValueOnce({
148
+ text: function() {
149
+ return Promise.resolve(mockPostResponse);
150
+ }
151
+ });
152
+ spy = jest.spyOn(unfetch, "default");
188
153
  return [
189
154
  4,
190
- Promise.all([
191
- eeProvider.getBalance(address, blockTag),
192
- ethersProvider.getBalance(address, blockTag),
193
- web3Provider.eth.getBalance(address, blockTag)
194
- ])
155
+ provider.getBalance(address, blockTag)
195
156
  ];
196
157
  case 1:
197
- _ref = _slicedToArray.apply(void 0, [
198
- _state.sent(),
199
- 3
200
- ]), eeBalance = _ref[0], ethersBalance = _ref[1], web3Balance = _ref[2];
201
- expect(eeBalance.toString()).toBe(ethersBalance.toString());
202
- expect(eeBalance.toString()).toBe(web3Balance);
158
+ balance = _state.sent();
159
+ expect(balance.toString()).toBe("10");
160
+ expectedBlockTag = blockTag !== null && blockTag !== void 0 ? blockTag : "latest";
161
+ expect(spy).toHaveBeenCalledWith(rpcUrl, buildFetchInit(buildRPCPostBody("eth_getBalance", [
162
+ address,
163
+ expectedBlockTag
164
+ ])));
203
165
  return [
204
166
  2
205
167
  ];
@@ -210,8 +172,8 @@ function _testGetBalance() {
210
172
  }
211
173
  describe("provider.getBalance matic", function() {
212
174
  var rpcUrl = rpcUrls.matic;
213
- it("should get latest equal to ethers", /*#__PURE__*/ _asyncToGenerator(function() {
214
- return __generator(this, function(_state) {
175
+ it("should get the latest balance", /*#__PURE__*/ _async_to_generator(function() {
176
+ return _ts_generator(this, function(_state) {
215
177
  switch(_state.label){
216
178
  case 0:
217
179
  return [
@@ -226,8 +188,8 @@ describe("provider.getBalance matic", function() {
226
188
  }
227
189
  });
228
190
  }));
229
- it("should get earliest equal to ethers", /*#__PURE__*/ _asyncToGenerator(function() {
230
- return __generator(this, function(_state) {
191
+ it("should get the earliest balance", /*#__PURE__*/ _async_to_generator(function() {
192
+ return _ts_generator(this, function(_state) {
231
193
  switch(_state.label){
232
194
  case 0:
233
195
  return [
@@ -242,8 +204,8 @@ describe("provider.getBalance matic", function() {
242
204
  }
243
205
  });
244
206
  }));
245
- it("should get default latest equal to ethers", /*#__PURE__*/ _asyncToGenerator(function() {
246
- return __generator(this, function(_state) {
207
+ it("should get the default latest balance", /*#__PURE__*/ _async_to_generator(function() {
208
+ return _ts_generator(this, function(_state) {
247
209
  switch(_state.label){
248
210
  case 0:
249
211
  return [
@@ -12,7 +12,7 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
12
12
  Promise.resolve(value).then(_next, _throw);
13
13
  }
14
14
  }
15
- function _asyncToGenerator(fn) {
15
+ function _async_to_generator(fn) {
16
16
  return function() {
17
17
  var self = this, args = arguments;
18
18
  return new Promise(function(resolve, reject) {
@@ -27,7 +27,7 @@ function _asyncToGenerator(fn) {
27
27
  });
28
28
  };
29
29
  }
30
- var __generator = this && this.__generator || function(thisArg, body) {
30
+ function _ts_generator(thisArg, body) {
31
31
  var f, y, t, g, _ = {
32
32
  label: 0,
33
33
  sent: function() {
@@ -121,8 +121,9 @@ var __generator = this && this.__generator || function(thisArg, body) {
121
121
  done: true
122
122
  };
123
123
  }
124
- };
125
- import unfetch from "isomorphic-unfetch";
124
+ }
125
+ import * as unfetch from "isomorphic-unfetch";
126
+ import { buildFetchInit, buildRPCPostBody } from "../../../classes/utils/fetchers";
126
127
  import { JsonRpcProvider } from "../../../index";
127
128
  import { mockOf } from "../mock-of";
128
129
  jest.mock("isomorphic-unfetch");
@@ -131,18 +132,20 @@ var mockPostResponse = JSON.stringify({
131
132
  id: 1,
132
133
  result: "0xa"
133
134
  });
135
+ var TEST_URL = "https://test.com";
134
136
  describe("provider.getBlockNumber", function() {
135
- it("should get number integer", /*#__PURE__*/ _asyncToGenerator(function() {
136
- var essentialEthProvider, essentialEthBlockNumber;
137
- return __generator(this, function(_state) {
137
+ it("should get number integer", /*#__PURE__*/ _async_to_generator(function() {
138
+ var essentialEthProvider, spy, essentialEthBlockNumber;
139
+ return _ts_generator(this, function(_state) {
138
140
  switch(_state.label){
139
141
  case 0:
140
- essentialEthProvider = new JsonRpcProvider();
141
- mockOf(unfetch).mockResolvedValueOnce({
142
+ essentialEthProvider = new JsonRpcProvider(TEST_URL);
143
+ mockOf(unfetch.default).mockResolvedValueOnce({
142
144
  text: function() {
143
145
  return Promise.resolve(mockPostResponse);
144
146
  }
145
147
  });
148
+ spy = jest.spyOn(unfetch, "default");
146
149
  return [
147
150
  4,
148
151
  essentialEthProvider.getBlockNumber()
@@ -150,6 +153,7 @@ describe("provider.getBlockNumber", function() {
150
153
  case 1:
151
154
  essentialEthBlockNumber = _state.sent();
152
155
  expect(essentialEthBlockNumber).toBe(10);
156
+ expect(spy).toHaveBeenCalledWith(TEST_URL, buildFetchInit(buildRPCPostBody("eth_blockNumber", [])));
153
157
  return [
154
158
  2
155
159
  ];