essential-eth 0.9.0 → 0.9.1-next.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 (134) hide show
  1. package/dist/cjs/classes/Contract.js +66 -307
  2. package/dist/cjs/classes/test/Contract/crv-abi.js +256 -252
  3. package/dist/cjs/classes/test/Contract/ens-abi.d.ts +1 -1
  4. package/dist/cjs/classes/test/Contract/ens-abi.js +212 -497
  5. package/dist/cjs/classes/test/Contract/fei-abi.js +284 -605
  6. package/dist/cjs/classes/test/Contract/foo-abi.d.ts +1 -1
  7. package/dist/cjs/classes/test/Contract/foo-abi.js +21 -44
  8. package/dist/cjs/classes/test/Contract/uniswap-abi.js +68 -64
  9. package/dist/cjs/classes/utils/clean-block.js +30 -52
  10. package/dist/cjs/classes/utils/clean-log.js +20 -42
  11. package/dist/cjs/classes/utils/clean-transaction-receipt.js +30 -51
  12. package/dist/cjs/classes/utils/clean-transaction.js +30 -52
  13. package/dist/cjs/classes/utils/encode-decode-transaction.js +107 -148
  14. package/dist/cjs/classes/utils/fetchers.d.ts +8 -2
  15. package/dist/cjs/classes/utils/fetchers.js +52 -166
  16. package/dist/cjs/classes/utils/hex-to-decimal.js +6 -1
  17. package/dist/cjs/classes/utils/prepare-transaction.js +36 -59
  18. package/dist/cjs/index.d.ts +21 -22
  19. package/dist/cjs/index.js +56 -26
  20. package/dist/cjs/index.umd.js +1 -1
  21. package/dist/cjs/index.umd.js.map +1 -1
  22. package/dist/cjs/logger/logger.js +23 -79
  23. package/dist/cjs/logger/package-version.d.ts +1 -1
  24. package/dist/cjs/logger/package-version.js +4 -1
  25. package/dist/cjs/providers/AlchemyProvider.js +9 -82
  26. package/dist/cjs/providers/BaseProvider.js +511 -882
  27. package/dist/cjs/providers/FallthroughProvider.js +46 -123
  28. package/dist/cjs/providers/JsonRpcProvider.js +28 -93
  29. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.d.ts +14 -0
  30. package/dist/cjs/providers/test/json-rpc-provider/get-logs/mocks.js +152 -0
  31. package/dist/cjs/providers/test/mock-of.js +6 -8
  32. package/dist/cjs/providers/test/rpc-urls.d.ts +1 -0
  33. package/dist/cjs/providers/test/rpc-urls.js +23 -14
  34. package/dist/cjs/providers/utils/chains-info.d.ts +5 -448
  35. package/dist/cjs/providers/utils/chains-info.js +16 -1345
  36. package/dist/cjs/shared/tiny-big/helpers.js +42 -93
  37. package/dist/cjs/shared/tiny-big/tiny-big.js +72 -161
  38. package/dist/cjs/shared/validate-type.d.ts +1 -1
  39. package/dist/cjs/shared/validate-type.js +7 -7
  40. package/dist/cjs/types/Block.types.d.ts +3 -3
  41. package/dist/cjs/types/Block.types.js +2 -1
  42. package/dist/cjs/types/Contract.types.d.ts +4 -4
  43. package/dist/cjs/types/Contract.types.js +2 -1
  44. package/dist/cjs/types/FeeData.types.js +2 -1
  45. package/dist/cjs/types/Filter.types.js +2 -1
  46. package/dist/cjs/types/Network.types.js +2 -3
  47. package/dist/cjs/types/Transaction.types.d.ts +5 -5
  48. package/dist/cjs/types/Transaction.types.js +2 -1
  49. package/dist/cjs/utils/bytes.d.ts +4 -4
  50. package/dist/cjs/utils/bytes.js +318 -286
  51. package/dist/cjs/utils/compute-address.js +15 -8
  52. package/dist/cjs/utils/compute-public-key.js +10 -5
  53. package/dist/cjs/utils/ether-to-gwei.js +11 -10
  54. package/dist/cjs/utils/ether-to-wei.js +11 -10
  55. package/dist/cjs/utils/gwei-to-ether.js +11 -10
  56. package/dist/cjs/utils/hash-message.js +16 -11
  57. package/dist/cjs/utils/is-address.js +12 -8
  58. package/dist/cjs/utils/keccak256.js +14 -8
  59. package/dist/cjs/utils/solidity-keccak256.js +60 -49
  60. package/dist/cjs/utils/split-signature.js +73 -55
  61. package/dist/cjs/utils/to-checksum-address.js +20 -15
  62. package/dist/cjs/utils/to-utf8-bytes.js +6 -1
  63. package/dist/cjs/utils/wei-to-ether.js +15 -13
  64. package/dist/esm/classes/test/Contract/ens-abi.d.ts +1 -1
  65. package/dist/esm/classes/test/Contract/foo-abi.d.ts +1 -1
  66. package/dist/esm/classes/utils/fetchers.d.ts +8 -2
  67. package/dist/esm/classes/utils/fetchers.js +6 -3
  68. package/dist/esm/index.d.ts +21 -22
  69. package/dist/esm/index.js +16 -17
  70. package/dist/esm/logger/package-version.d.ts +1 -1
  71. package/dist/esm/logger/package-version.js +1 -1
  72. package/dist/esm/providers/FallthroughProvider.js +3 -3
  73. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.d.ts +14 -0
  74. package/dist/esm/providers/test/json-rpc-provider/get-logs/mocks.js +142 -0
  75. package/dist/esm/providers/test/rpc-urls.d.ts +1 -0
  76. package/dist/esm/providers/test/rpc-urls.js +7 -4
  77. package/dist/esm/providers/utils/chains-info.d.ts +5 -448
  78. package/dist/esm/providers/utils/chains-info.js +13 -1344
  79. package/dist/esm/shared/validate-type.d.ts +1 -1
  80. package/dist/esm/types/Block.types.d.ts +3 -3
  81. package/dist/esm/types/Contract.types.d.ts +4 -4
  82. package/dist/esm/types/Transaction.types.d.ts +5 -5
  83. package/dist/esm/utils/bytes.d.ts +4 -4
  84. package/package.json +23 -51
  85. package/readme.md +15 -38
  86. package/dist/cjs/classes/test/Contract/crv.test.js +0 -690
  87. package/dist/cjs/classes/test/Contract/ens.test.js +0 -217
  88. package/dist/cjs/classes/test/Contract/fei.test.js +0 -224
  89. package/dist/cjs/classes/test/Contract/foo.test.js +0 -33
  90. package/dist/cjs/classes/test/Contract/uni.test.js +0 -387
  91. package/dist/cjs/providers/test/fallthrough-provider/get-gas-price.test.js +0 -228
  92. package/dist/cjs/providers/test/get-transaction-count.test.js +0 -276
  93. package/dist/cjs/providers/test/json-rpc-provider/call.test.js +0 -436
  94. package/dist/cjs/providers/test/json-rpc-provider/estimate-gas.test.js +0 -288
  95. package/dist/cjs/providers/test/json-rpc-provider/get-balance.test.js +0 -261
  96. package/dist/cjs/providers/test/json-rpc-provider/get-block-number.test.js +0 -159
  97. package/dist/cjs/providers/test/json-rpc-provider/get-block.test.js +0 -477
  98. package/dist/cjs/providers/test/json-rpc-provider/get-code.test.js +0 -311
  99. package/dist/cjs/providers/test/json-rpc-provider/get-fee-data.test.js +0 -212
  100. package/dist/cjs/providers/test/json-rpc-provider/get-gas-price.test.js +0 -164
  101. package/dist/cjs/providers/test/json-rpc-provider/get-logs.test.js +0 -361
  102. package/dist/cjs/providers/test/json-rpc-provider/get-network.test.js +0 -274
  103. package/dist/cjs/providers/test/json-rpc-provider/get-transaction-receipt.test.js +0 -301
  104. package/dist/cjs/providers/test/json-rpc-provider/get-transaction.test.js +0 -307
  105. package/dist/cjs/providers/test/test-alchemy-provider.test.js +0 -151
  106. package/dist/cjs/shared/tiny-big/helpers.test.js +0 -29
  107. package/dist/cjs/shared/tiny-big/tiny-big.test.js +0 -34
  108. package/dist/cjs/utils/tests/bytes/arrayify.test.js +0 -40
  109. package/dist/cjs/utils/tests/bytes/concat.test.js +0 -15
  110. package/dist/cjs/utils/tests/bytes/hex-concat.test.js +0 -63
  111. package/dist/cjs/utils/tests/bytes/hex-data-length.test.js +0 -49
  112. package/dist/cjs/utils/tests/bytes/hex-data-slice.test.js +0 -52
  113. package/dist/cjs/utils/tests/bytes/hex-strip-zeros.test.js +0 -58
  114. package/dist/cjs/utils/tests/bytes/hex-value.test.js +0 -85
  115. package/dist/cjs/utils/tests/bytes/hex-zero-pad.test.js +0 -62
  116. package/dist/cjs/utils/tests/bytes/hexlify.test.js +0 -62
  117. package/dist/cjs/utils/tests/bytes/is-bytes-like.test.js +0 -69
  118. package/dist/cjs/utils/tests/bytes/is-bytes.test.js +0 -33
  119. package/dist/cjs/utils/tests/bytes/is-hex-string.test.js +0 -88
  120. package/dist/cjs/utils/tests/bytes/strip-zeros.test.js +0 -57
  121. package/dist/cjs/utils/tests/bytes/zero-pad.test.js +0 -80
  122. package/dist/cjs/utils/tests/compute-address.test.js +0 -27
  123. package/dist/cjs/utils/tests/compute-public-key.test.js +0 -15
  124. package/dist/cjs/utils/tests/ether-to-gwei.test.js +0 -26
  125. package/dist/cjs/utils/tests/ether-to-wei.test.js +0 -44
  126. package/dist/cjs/utils/tests/gwei-to-ether.test.js +0 -28
  127. package/dist/cjs/utils/tests/hash-message.test.js +0 -21
  128. package/dist/cjs/utils/tests/is-address.test.js +0 -55
  129. package/dist/cjs/utils/tests/keccak256.test.js +0 -97
  130. package/dist/cjs/utils/tests/solidity-keccak256.test.js +0 -310
  131. package/dist/cjs/utils/tests/split-signature.test.js +0 -25
  132. package/dist/cjs/utils/tests/to-checksum-address.test.js +0 -42
  133. package/dist/cjs/utils/tests/to-utf8-bytes.test.js +0 -14
  134. package/dist/cjs/utils/tests/wei-to-ether.test.js +0 -51
@@ -1,2 +1,2 @@
1
- import type { JSONABI } from '../../..';
1
+ import type { JSONABI } from '../../../types/Contract.types';
2
2
  export declare const fooABI: JSONABI;
@@ -1,65 +1,42 @@
1
+ "use strict";
1
2
  // https://docs.soliditylang.org/en/v0.6.8/abi-spec.html#examples
2
3
  // contract Foo {
3
4
  // function bar(bytes3[2] memory) public pure {}
4
5
  // function baz(uint32 x, bool y) public pure returns (bool r) { r = x > 32 || y; }
5
6
  // function sam(bytes memory, bool, uint[] memory) public pure {}
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.fooABI = void 0;
6
9
  // }
7
- export var fooABI = [
10
+ exports.fooABI = [
8
11
  {
9
12
  inputs: [
10
13
  {
11
- internalType: "bytes3[2]",
12
- name: "memory",
13
- type: "bytes3[2]"
14
- }
14
+ internalType: 'bytes3[2]',
15
+ name: 'memory',
16
+ type: 'bytes3[2]',
17
+ },
15
18
  ],
16
- name: "bar",
19
+ name: 'bar',
17
20
  outputs: [],
18
- type: "function"
21
+ type: 'function',
19
22
  },
20
23
  {
21
24
  inputs: [
22
- {
23
- internalType: "uint32",
24
- name: "x",
25
- type: "uint32"
26
- },
27
- {
28
- internalType: "bool",
29
- name: "y",
30
- type: "bool"
31
- }
32
- ],
33
- name: "baz",
34
- outputs: [
35
- {
36
- internalType: "bool",
37
- name: "r",
38
- type: "bool"
39
- }
25
+ { internalType: 'uint32', name: 'x', type: 'uint32' },
26
+ { internalType: 'bool', name: 'y', type: 'bool' },
40
27
  ],
41
- type: "function"
28
+ name: 'baz',
29
+ outputs: [{ internalType: 'bool', name: 'r', type: 'bool' }],
30
+ type: 'function',
42
31
  },
43
32
  {
44
33
  inputs: [
45
- {
46
- internalType: "bytes",
47
- name: "memory",
48
- type: "bytes"
49
- },
50
- {
51
- internalType: "bool",
52
- name: "",
53
- type: "bool"
54
- },
55
- {
56
- internalType: "uint[]",
57
- name: "memory",
58
- type: "uint[]"
59
- }
34
+ { internalType: 'bytes', name: 'memory', type: 'bytes' },
35
+ { internalType: 'bool', name: '', type: 'bool' },
36
+ { internalType: 'uint[]', name: 'memory', type: 'uint[]' },
60
37
  ],
61
- name: "sam",
38
+ name: 'sam',
62
39
  outputs: [],
63
- type: "function"
64
- }
40
+ type: 'function',
41
+ },
65
42
  ];
@@ -1,117 +1,121 @@
1
- export var uniswapABI = // http://api.etherscan.io/api?module=contract&action=getabi&address=0x090d4613473dee047c3f2706764f49e0821d256e&format=raw
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniswapABI = void 0;
4
+ exports.uniswapABI =
5
+ // http://api.etherscan.io/api?module=contract&action=getabi&address=0x090d4613473dee047c3f2706764f49e0821d256e&format=raw
2
6
  [
3
7
  {
4
8
  inputs: [
5
9
  {
6
- internalType: "address",
7
- name: "token_",
8
- type: "address"
10
+ internalType: 'address',
11
+ name: 'token_',
12
+ type: 'address',
9
13
  },
10
14
  {
11
- internalType: "bytes32",
12
- name: "merkleRoot_",
13
- type: "bytes32"
14
- }
15
+ internalType: 'bytes32',
16
+ name: 'merkleRoot_',
17
+ type: 'bytes32',
18
+ },
15
19
  ],
16
- stateMutability: "nonpayable",
17
- type: "constructor"
20
+ stateMutability: 'nonpayable',
21
+ type: 'constructor',
18
22
  },
19
23
  {
20
24
  anonymous: false,
21
25
  inputs: [
22
26
  {
23
27
  indexed: false,
24
- internalType: "uint256",
25
- name: "index",
26
- type: "uint256"
28
+ internalType: 'uint256',
29
+ name: 'index',
30
+ type: 'uint256',
27
31
  },
28
32
  {
29
33
  indexed: false,
30
- internalType: "address",
31
- name: "account",
32
- type: "address"
34
+ internalType: 'address',
35
+ name: 'account',
36
+ type: 'address',
33
37
  },
34
38
  {
35
39
  indexed: false,
36
- internalType: "uint256",
37
- name: "amount",
38
- type: "uint256"
39
- }
40
+ internalType: 'uint256',
41
+ name: 'amount',
42
+ type: 'uint256',
43
+ },
40
44
  ],
41
- name: "Claimed",
42
- type: "event"
45
+ name: 'Claimed',
46
+ type: 'event',
43
47
  },
44
48
  {
45
49
  inputs: [
46
50
  {
47
- internalType: "uint256",
48
- name: "index",
49
- type: "uint256"
51
+ internalType: 'uint256',
52
+ name: 'index',
53
+ type: 'uint256',
50
54
  },
51
55
  {
52
- internalType: "address",
53
- name: "account",
54
- type: "address"
56
+ internalType: 'address',
57
+ name: 'account',
58
+ type: 'address',
55
59
  },
56
60
  {
57
- internalType: "uint256",
58
- name: "amount",
59
- type: "uint256"
61
+ internalType: 'uint256',
62
+ name: 'amount',
63
+ type: 'uint256',
60
64
  },
61
65
  {
62
- internalType: "bytes32[]",
63
- name: "merkleProof",
64
- type: "bytes32[]"
65
- }
66
+ internalType: 'bytes32[]',
67
+ name: 'merkleProof',
68
+ type: 'bytes32[]',
69
+ },
66
70
  ],
67
- name: "claim",
71
+ name: 'claim',
68
72
  outputs: [],
69
- stateMutability: "nonpayable",
70
- type: "function"
73
+ stateMutability: 'nonpayable',
74
+ type: 'function',
71
75
  },
72
76
  {
73
77
  inputs: [
74
78
  {
75
- internalType: "uint256",
76
- name: "index",
77
- type: "uint256"
78
- }
79
+ internalType: 'uint256',
80
+ name: 'index',
81
+ type: 'uint256',
82
+ },
79
83
  ],
80
- name: "isClaimed",
84
+ name: 'isClaimed',
81
85
  outputs: [
82
86
  {
83
- internalType: "bool",
84
- name: "",
85
- type: "bool"
86
- }
87
+ internalType: 'bool',
88
+ name: '',
89
+ type: 'bool',
90
+ },
87
91
  ],
88
- stateMutability: "view",
89
- type: "function"
92
+ stateMutability: 'view',
93
+ type: 'function',
90
94
  },
91
95
  {
92
96
  inputs: [],
93
- name: "merkleRoot",
97
+ name: 'merkleRoot',
94
98
  outputs: [
95
99
  {
96
- internalType: "bytes32",
97
- name: "",
98
- type: "bytes32"
99
- }
100
+ internalType: 'bytes32',
101
+ name: '',
102
+ type: 'bytes32',
103
+ },
100
104
  ],
101
- stateMutability: "view",
102
- type: "function"
105
+ stateMutability: 'view',
106
+ type: 'function',
103
107
  },
104
108
  {
105
109
  inputs: [],
106
- name: "token",
110
+ name: 'token',
107
111
  outputs: [
108
112
  {
109
- internalType: "address",
110
- name: "",
111
- type: "address"
112
- }
113
+ internalType: 'address',
114
+ name: '',
115
+ type: 'address',
116
+ },
113
117
  ],
114
- stateMutability: "view",
115
- type: "function"
116
- }
118
+ stateMutability: 'view',
119
+ type: 'function',
120
+ },
117
121
  ];
@@ -1,35 +1,10 @@
1
- function _defineProperty(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _objectSpread(target) {
15
- for(var i = 1; i < arguments.length; i++){
16
- var source = arguments[i] != null ? arguments[i] : {};
17
- var ownKeys = Object.keys(source);
18
- if (typeof Object.getOwnPropertySymbols === "function") {
19
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
- }));
22
- }
23
- ownKeys.forEach(function(key) {
24
- _defineProperty(target, key, source[key]);
25
- });
26
- }
27
- return target;
28
- }
29
- import { tinyBig } from "../../shared/tiny-big/tiny-big";
30
- import { toChecksumAddress } from "../../utils/to-checksum-address";
31
- import { cleanTransaction } from "./clean-transaction";
32
- import { hexToDecimal } from "./hex-to-decimal";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanBlock = void 0;
4
+ const tiny_big_1 = require("../../shared/tiny-big/tiny-big");
5
+ const to_checksum_address_1 = require("../../utils/to-checksum-address");
6
+ const clean_transaction_1 = require("./clean-transaction");
7
+ const hex_to_decimal_1 = require("./hex-to-decimal");
33
8
  /**
34
9
  * Converts RPC block response to more JS-friendly format
35
10
  *
@@ -147,36 +122,39 @@ import { hexToDecimal } from "./hex-to-decimal";
147
122
  * // paidFees: '0x1fb451615b58',
148
123
  * // cumulativeDifficulty: '0x8fdbe015f7248cf993'
149
124
  * // }
150
- */ export function cleanBlock(block, returnTransactionObjects) {
151
- var cleanedBlock = _objectSpread({}, block);
152
- Object.keys(block).forEach(function(key) {
125
+ */
126
+ function cleanBlock(block, returnTransactionObjects) {
127
+ const cleanedBlock = Object.assign({}, block);
128
+ Object.keys(block).forEach((key) => {
153
129
  // pending blocks have null instead of a difficulty
154
130
  // pending blocks have null instead of a miner address
155
- if (!block[key]) return;
156
- switch(key){
157
- case "difficulty":
158
- case "totalDifficulty":
159
- case "gasLimit":
160
- case "gasUsed":
161
- case "size":
162
- case "timestamp":
163
- case "baseFeePerGas":
164
- cleanedBlock[key] = tinyBig(hexToDecimal(block[key]));
131
+ if (!block[key])
132
+ return;
133
+ switch (key) {
134
+ case 'difficulty':
135
+ case 'totalDifficulty':
136
+ case 'gasLimit':
137
+ case 'gasUsed':
138
+ case 'size':
139
+ case 'timestamp':
140
+ case 'baseFeePerGas':
141
+ cleanedBlock[key] = (0, tiny_big_1.tinyBig)((0, hex_to_decimal_1.hexToDecimal)(block[key]));
165
142
  break;
166
- case "number":
167
- cleanedBlock[key] = Number(hexToDecimal(block[key]));
143
+ case 'number':
144
+ cleanedBlock[key] = Number((0, hex_to_decimal_1.hexToDecimal)(block[key]));
168
145
  break;
169
- case "miner":
170
- cleanedBlock[key] = toChecksumAddress(block[key]);
146
+ case 'miner':
147
+ cleanedBlock[key] = (0, to_checksum_address_1.toChecksumAddress)(block[key]);
171
148
  break;
172
149
  }
173
150
  });
174
151
  // for all full transactions
175
152
  if (returnTransactionObjects) {
176
- var txns = block.transactions;
177
- txns.forEach(function(transaction, index) {
178
- cleanedBlock.transactions[index] = cleanTransaction(transaction);
153
+ const txns = block.transactions;
154
+ txns.forEach((transaction, index) => {
155
+ cleanedBlock.transactions[index] = (0, clean_transaction_1.cleanTransaction)(transaction);
179
156
  });
180
157
  }
181
158
  return cleanedBlock;
182
159
  }
160
+ exports.cleanBlock = cleanBlock;
@@ -1,55 +1,32 @@
1
- function _defineProperty(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _objectSpread(target) {
15
- for(var i = 1; i < arguments.length; i++){
16
- var source = arguments[i] != null ? arguments[i] : {};
17
- var ownKeys = Object.keys(source);
18
- if (typeof Object.getOwnPropertySymbols === "function") {
19
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
- }));
22
- }
23
- ownKeys.forEach(function(key) {
24
- _defineProperty(target, key, source[key]);
25
- });
26
- }
27
- return target;
28
- }
29
- import { toChecksumAddress } from "../../utils/to-checksum-address";
30
- import { hexToDecimal } from "./hex-to-decimal";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanLog = void 0;
4
+ const to_checksum_address_1 = require("../../utils/to-checksum-address");
5
+ const hex_to_decimal_1 = require("./hex-to-decimal");
31
6
  /**
32
7
  * Converts RPC log receipt response to more JS-friendly format
33
8
  *
34
9
  * @param log the log to clean
35
10
  * @param receiptLog if the log is part of a transaction receipt. Used to remove certain keys from log
36
11
  * @example
37
- */ export function cleanLog(log, receiptLog) {
38
- var cleanedLog = _objectSpread({}, log);
39
- Object.keys(log).forEach(function(key) {
40
- switch(key){
41
- case "address":
42
- cleanedLog[key] = toChecksumAddress(log[key]);
12
+ */
13
+ function cleanLog(log, receiptLog) {
14
+ const cleanedLog = Object.assign({}, log);
15
+ Object.keys(log).forEach((key) => {
16
+ switch (key) {
17
+ case 'address':
18
+ cleanedLog[key] = (0, to_checksum_address_1.toChecksumAddress)(log[key]);
43
19
  break;
44
- case "blockNumber":
45
- case "logIndex":
46
- case "transactionIndex":
47
- cleanedLog[key] = Number(hexToDecimal(log[key]));
20
+ case 'blockNumber':
21
+ case 'logIndex':
22
+ case 'transactionIndex':
23
+ cleanedLog[key] = Number((0, hex_to_decimal_1.hexToDecimal)(log[key]));
48
24
  break;
49
- case "removed":
25
+ case 'removed':
50
26
  if (receiptLog) {
51
27
  delete cleanedLog[key];
52
- } else if (log[key] == null) {
28
+ }
29
+ else if (log[key] == null) {
53
30
  cleanedLog[key] === false;
54
31
  }
55
32
  break;
@@ -57,3 +34,4 @@ import { hexToDecimal } from "./hex-to-decimal";
57
34
  });
58
35
  return cleanedLog;
59
36
  }
37
+ exports.cleanLog = cleanLog;
@@ -1,36 +1,11 @@
1
- function _defineProperty(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _objectSpread(target) {
15
- for(var i = 1; i < arguments.length; i++){
16
- var source = arguments[i] != null ? arguments[i] : {};
17
- var ownKeys = Object.keys(source);
18
- if (typeof Object.getOwnPropertySymbols === "function") {
19
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
- }));
22
- }
23
- ownKeys.forEach(function(key) {
24
- _defineProperty(target, key, source[key]);
25
- });
26
- }
27
- return target;
28
- }
29
- import { tinyBig } from "../../shared/tiny-big/tiny-big";
30
- import { toChecksumAddress } from "../../utils/to-checksum-address";
31
- import { cleanLog } from "./clean-log";
32
- import { cleanTransaction } from "./clean-transaction";
33
- import { hexToDecimal } from "./hex-to-decimal";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanTransactionReceipt = void 0;
4
+ const tiny_big_1 = require("../../shared/tiny-big/tiny-big");
5
+ const to_checksum_address_1 = require("../../utils/to-checksum-address");
6
+ const clean_log_1 = require("./clean-log");
7
+ const clean_transaction_1 = require("./clean-transaction");
8
+ const hex_to_decimal_1 = require("./hex-to-decimal");
34
9
  /**
35
10
  * Converts RPC transaction receipt response to more JS-friendly format
36
11
  *
@@ -42,31 +17,35 @@ import { hexToDecimal } from "./hex-to-decimal";
42
17
  * cleanTransactionReceipt(RPCTransactionReceipt);
43
18
  * // { blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, contractAddress: null, cumulativeGasUsed: Big { s: 1, e: 6, c: [ 3, 6, 4, 6, 1, 3, 7 ], constructor: { [λ: Big] DP: 20, RM: 1, NE: -7, PE: 21, strict: false, roundDown: 0, roundHalfUp: 1, roundHalfEven: 2, roundUp: 3, Big: [Circular], default: [Circular] }, padAndChop: [λ] }, effectiveGasPrice: Big { s: 1, e: 10, c: [ 2, 6, 5, 4, 0, 6, 2, 3, 4, 0, 4 ], constructor: { [λ: Big] DP: 20, RM: 1, NE: -7, PE: 21, strict: false, roundDown: 0, roundHalfUp: 1, roundHalfEven: 2, roundUp: 3, Big: [Circular], default: [Circular] }, padAndChop: [λ] }, from: '0x642824FaB1D0141073ed74326332950bEc4701e3', gasUsed: Big { s: 1, e: 5, c: [ 1, 0, 7, 3, 0, 1 ], constructor: { [λ: Big] DP: 20, RM: 1, NE: -7, PE: 21, strict: false, roundDown: 0, roundHalfUp: 1, roundHalfEven: 2, roundUp: 3, Big: [Circular], default: [Circular] }, padAndChop: [λ] }, logs: [ { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 84, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x000000000000000000000000000000000000000000000000000000000000074d' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 85, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x000000000000000000000000000000000000000000000000000000000000074e' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 86, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x000000000000000000000000000000000000000000000000000000000000074f' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 87, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000750' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 88, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000751' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 89, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000752' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 90, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000753' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 91, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000754' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 92, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000755' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 }, { address: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', blockHash: '0x03ddc6a835462f750fcaf5ab511d8c48121b0813e3e80de84d7adc3ef192b7bf', blockNumber: 14847842, data: '0x', logIndex: 93, topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x0000000000000000000000000000000000000000000000000000000000000000', '0x000000000000000000000000642824fab1d0141073ed74326332950bec4701e3', '0x0000000000000000000000000000000000000000000000000000000000000756' ], transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41 } ], logsBloom: '0x20000080004000000000000400000000000001000000000400000000000000000000000000000000000000000008000000000000000000000000000000004000000000000008000000000008000000010080000014000004000000000000000000100000020800000000000000001800000080000000002000000010000000000000000000000200000200000000002000000000000400000000000000000000000000000000000000000040000000000000000100000000000000000000040002100002000000000000080000000000000100000002000000040000001220000000000000000000000000000000000000000000000000000000000000004000', status: 1, to: '0x84F80EA01e26B7C11bdd241970982C7EEAb6DdcC', transactionHash: '0xd0befcb9d10a89aba2d488534811bf5c62a889e2499d23cdd83c2a2200cde873', transactionIndex: 41, type: 2, byzantium: true, confirmations: 40 }
44
19
  * ```
45
- */ export function cleanTransactionReceipt(transactionReceipt) {
46
- var cleanedTransaction = cleanTransaction(transactionReceipt);
47
- var cleanedTransactionReceipt = _objectSpread({}, cleanedTransaction);
48
- Object.keys(transactionReceipt).forEach(function(key) {
49
- if (!transactionReceipt[key]) return;
50
- switch(key){
51
- case "status":
52
- cleanedTransactionReceipt[key] = Number(hexToDecimal(transactionReceipt[key]));
20
+ */
21
+ function cleanTransactionReceipt(transactionReceipt) {
22
+ const cleanedTransaction = (0, clean_transaction_1.cleanTransaction)(transactionReceipt);
23
+ const cleanedTransactionReceipt = Object.assign({}, cleanedTransaction);
24
+ Object.keys(transactionReceipt).forEach((key) => {
25
+ if (!transactionReceipt[key])
26
+ return;
27
+ switch (key) {
28
+ case 'status':
29
+ cleanedTransactionReceipt[key] = Number((0, hex_to_decimal_1.hexToDecimal)(transactionReceipt[key]));
53
30
  break;
54
- case "contractAddress":
31
+ case 'contractAddress':
55
32
  if (transactionReceipt[key]) {
56
- cleanedTransactionReceipt[key] = toChecksumAddress(transactionReceipt[key]);
33
+ cleanedTransactionReceipt[key] = (0, to_checksum_address_1.toChecksumAddress)(transactionReceipt[key]);
57
34
  }
58
35
  break;
59
- case "cumulativeGasUsed":
60
- case "effectiveGasPrice":
61
- case "gasUsed":
62
- cleanedTransactionReceipt[key] = tinyBig(hexToDecimal(transactionReceipt[key]));
36
+ case 'cumulativeGasUsed':
37
+ case 'effectiveGasPrice':
38
+ case 'gasUsed':
39
+ cleanedTransactionReceipt[key] = (0, tiny_big_1.tinyBig)((0, hex_to_decimal_1.hexToDecimal)(transactionReceipt[key]));
63
40
  break;
64
- case "logs":
65
- transactionReceipt[key].forEach(function(log, index) {
66
- cleanedTransactionReceipt[key][index] = cleanLog(log, true);
41
+ case 'logs':
42
+ transactionReceipt[key].forEach((log, index) => {
43
+ cleanedTransactionReceipt[key][index] = (0, clean_log_1.cleanLog)(log, true);
67
44
  });
68
45
  }
69
46
  });
70
- cleanedTransactionReceipt.byzantium = cleanedTransactionReceipt.blockNumber >= 4370000;
47
+ cleanedTransactionReceipt.byzantium =
48
+ cleanedTransactionReceipt.blockNumber >= 4370000;
71
49
  return cleanedTransactionReceipt;
72
50
  }
51
+ exports.cleanTransactionReceipt = cleanTransactionReceipt;