uniswap-v2-loader 6.1.2 → 6.1.5

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.
@@ -20,17 +20,14 @@ jobs:
20
20
 
21
21
  steps:
22
22
  - name: Checkout code
23
- uses: actions/checkout@v4
23
+ uses: actions/checkout@v6
24
24
 
25
25
  - name: Setup Node.js
26
- uses: actions/setup-node@v4
26
+ uses: actions/setup-node@v6
27
27
  with:
28
- node-version: '22'
28
+ node-version: '24'
29
29
  registry-url: 'https://registry.npmjs.org'
30
30
 
31
- - name: Update npm
32
- run: npm install -g npm@latest
33
-
34
31
  - name: Install dependencies
35
32
  run: npm i
36
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uniswap-v2-loader",
3
- "version": "6.1.2",
3
+ "version": "6.1.5",
4
4
  "description": "Uniswap v2 protocol loader",
5
5
  "keywords": [
6
6
  "DEFI",
package/src/index.js CHANGED
@@ -5,7 +5,7 @@ const path = require('path')
5
5
  const default_cache_filename = require('./default_cache_filename')
6
6
  const dex_db = require('@calp-pro/dex-db')
7
7
  const max_workers = os.cpus().length - 1
8
- const debug_key = process.env.KEY || 'FZBvlPrOxtgaKBBkry3SH0W1IqH4Y5tu'
8
+ const debug_key = process.env.KEY || 'euEV_WdPWxmaSWLlGyKr9'
9
9
  const uniswap_v2_factory = '0x5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f'
10
10
 
11
11
  const load = (params = {}) => {
package/src/dex_db.js DELETED
@@ -1,216 +0,0 @@
1
- // DexDB v2.0.0
2
- // written 13 March 2026 by Vladimir Spirin at Danang, Vietnam
3
- const fs = require('fs')
4
-
5
- function writeUInt24LE(buf, value, offset) {
6
- value &= 0xffffff
7
- buf[offset] = value & 0xff
8
- buf[offset + 1] = (value >>> 8) & 0xff
9
- buf[offset + 2] = (value >>> 16) & 0xff
10
- }
11
-
12
- function readUInt24LE(buf, offset) {
13
- return buf[offset] |
14
- (buf[offset + 1] << 8) |
15
- (buf[offset + 2] << 16)
16
- }
17
-
18
- function dex_db(pairs = []) {
19
- var aP = []
20
- var aT = []
21
- var P = new Map()//pairs
22
- var T = new Map()//tokens
23
- var p2tt = []// [p1.it0, p1.it1, p2.it0, p2, it1, ...]
24
- var t2pt = []// [ [[ip, it], [ip, it], ...], ...]
25
-
26
- const index = ([pair, token0, token1]) => {
27
- var ip = P.get(pair)
28
- if (ip == undefined) {
29
- P.set(pair, ip = P.size)
30
- aP.push(pair)
31
- } else {
32
- return undefined
33
- }
34
-
35
- var it0 = T.get(token0)
36
- if (it0 == undefined) {
37
- T.set(token0, it0 = T.size)
38
- aT.push(token0)
39
- }
40
-
41
- var it1 = T.get(token1)
42
- if (it1 == undefined) {
43
- T.set(token1, it1 = T.size)
44
- aT.push(token1)
45
- }
46
-
47
- p2tt[ip * 2] = it0
48
- p2tt[ip * 2 + 1] = it1
49
-
50
- if (t2pt[it0])
51
- t2pt[it0].push(ip, it1)
52
- else
53
- t2pt[it0] = [ip, it1]
54
-
55
- if (t2pt[it1])
56
- t2pt[it1].push(ip, it0)
57
- else
58
- t2pt[it1] = [ip, it0]
59
- }
60
-
61
- const index_save = ([pair, token0, token1], filename = 'dump') => {
62
- if (pair.length != 42 || token0.length != 42 || token1.length != 42) return
63
- var ip = P.get(pair)
64
- if (ip == undefined) {
65
- P.set(pair, ip = P.size)
66
- aP.push(pair)
67
- fs.appendFileSync(filename + '_pairs.bin', Buffer.from(pair.slice(2), 'hex'))
68
- } else {
69
- return undefined
70
- }
71
-
72
- var it0 = T.get(token0)
73
- if (it0 == undefined) {
74
- T.set(token0, it0 = T.size)
75
- aT.push(token0)
76
- fs.appendFileSync(filename + '_tokens.bin', Buffer.from(token0.slice(2), 'hex'))
77
- }
78
-
79
- var it1 = T.get(token1)
80
- if (it1 == undefined) {
81
- T.set(token1, it1 = T.size)
82
- aT.push(token1)
83
- fs.appendFileSync(filename + '_tokens.bin', Buffer.from(token1.slice(2), 'hex'))
84
- }
85
-
86
- p2tt[ip * 2] = it0
87
- p2tt[ip * 2 + 1] = it1
88
-
89
- const buf = Buffer.allocUnsafe(6)
90
- writeUInt24LE(buf, it0, 0)
91
- writeUInt24LE(buf, it1, 3)
92
- fs.appendFileSync(filename + '_p2tt.bin', buf)
93
-
94
- if (t2pt[it0])
95
- t2pt[it0].push(ip, it1)
96
- else
97
- t2pt[it0] = [ip, it1]
98
-
99
- if (t2pt[it1])
100
- t2pt[it1].push(ip, it0)
101
- else
102
- t2pt[it1] = [ip, it0]
103
-
104
- return [ip, it0, it1]
105
- }
106
-
107
- const get_tokens = pair => {
108
- const tokens = Array(2)
109
- const ip = P.get(pair)
110
- if (ip == undefined) return tokens
111
- tokens[0] = aT[p2tt[ip * 2]]
112
- tokens[1] = aT[p2tt[ip * 2 + 1]]
113
- return tokens
114
- }
115
-
116
- const find_pairs_with_token = token => {
117
- const pairs = []
118
- const it = T.get(token)
119
- if (it == undefined) return pairs
120
- for (var i = 0; i < t2pt[it].length; i += 2)
121
- pairs.push(
122
- aP[t2pt[it][i]]
123
- )
124
- return pairs
125
- }
126
-
127
- const find_pairs_with_tokens = (token0, token1) => {
128
- const pairs = []
129
- const it0 = T.get(token0)
130
- if (it0 == undefined) return pairs
131
- const it1 = T.get(token1)
132
- if (it1 == undefined) return pairs
133
- for (var i = 0; i < t2pt[it0].length; i += 2)
134
- if (t2pt[it0][i + 1] == it1)
135
- pairs.push(
136
- aP[t2pt[it0][i]]
137
- )
138
- return pairs
139
- }
140
-
141
- const save = (filename = 'dump') => {
142
- fs.writeFileSync(filename + '_pairs.bin', Buffer.concat(aP.map(a => Buffer.from(a.slice(2), 'hex'))))
143
- fs.writeFileSync(filename + '_tokens.bin', Buffer.concat(aT.map(a => Buffer.from(a.slice(2), 'hex'))))
144
- const bin = fs.openSync(filename + '_p2tt.bin', 'w')
145
- const buf = Buffer.allocUnsafe(6)
146
- for (var i = 0; i < p2tt.length; i += 2) {
147
- writeUInt24LE(buf, p2tt[i], 0)
148
- writeUInt24LE(buf, p2tt[i + 1], 3)
149
- fs.writeSync(bin, buf)
150
- }
151
- fs.closeSync(bin)
152
- }
153
-
154
- const load = (filename = 'dump') => {
155
- aP.length = 0
156
- aT.length = 0
157
- p2tt.length = 0
158
- t2pt.length = 0
159
- T = new Map()
160
- P = new Map()
161
-
162
- var buf = fs.readFileSync(filename + '_pairs.bin')
163
- for (var i = 0; i < buf.length; i += 20) {
164
- const pair = '0x' + buf.slice(i, i + 20).toString('hex')
165
- aP.push(pair)
166
- P.set(pair, i / 20)
167
- }
168
- buf = fs.readFileSync(filename + '_tokens.bin')
169
- for (var i = 0; i < buf.length; i += 20) {
170
- const token = '0x' + buf.slice(i, i + 20).toString('hex')
171
- aT.push(token)
172
- T.set(token, i / 20)
173
- }
174
-
175
- const bin = fs.openSync(filename + '_p2tt.bin', 'r')
176
- const { size } = fs.fstatSync(bin)
177
- buf = Buffer.allocUnsafe(6)
178
-
179
- for (var offset = 0, ip, it0, it1; offset < size; offset += 6) {
180
- fs.readSync(bin, buf, 0, 6, offset)
181
- ip = offset / 6
182
- it0 = readUInt24LE(buf, 0)
183
- it1 = readUInt24LE(buf, 3)
184
- p2tt[ip * 2] = it0
185
- p2tt[ip * 2 + 1] = it1
186
-
187
- if (t2pt[it0])
188
- t2pt[it0].push(ip, it1)
189
- else
190
- t2pt[it0] = [ip, it1]
191
-
192
- if (t2pt[it1])
193
- t2pt[it1].push(ip, it0)
194
- else
195
- t2pt[it1] = [ip, it0]
196
- }
197
-
198
- fs.closeSync(bin)
199
- }
200
-
201
- pairs.forEach(index)
202
-
203
- return {
204
- index,
205
- index_save,
206
- find_pairs_with_token,
207
- find_pairs_with_tokens,
208
- save,
209
- load,
210
- get_tokens,
211
- get_all_pairs: () => aP,
212
- get_all_tokens: () => aT,
213
- }
214
- }
215
-
216
- module.exports = dex_db