Skip to content

Commit

Permalink
fix getKeysPaged (#701)
Browse files Browse the repository at this point in the history
  • Loading branch information
ermalkaleci committed Mar 22, 2024
1 parent 6ca0267 commit f661905
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 3 deletions.
23 changes: 23 additions & 0 deletions packages/core/src/blockchain/get-keys-paged.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ describe('getKeysPaged', () => {
'0x2222222222222222222222222222222222222222222222222222222222222222_21',
'0x2222222222222222222222222222222222222222222222222222222222222222_23',
'0x2222222222222222222222222222222222222222222222222222222222222222_26',
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b702000001a12dfa1fa4ab9a0000',
]

Api.prototype['getKeysPaged'] = vi.fn(async (prefix, pageSize, startKey) => {
Expand Down Expand Up @@ -253,5 +254,27 @@ describe('getKeysPaged', () => {
'0x1111111111111111111111111111111111111111111111111111111111111111',
),
).toEqual([])

layer6.setAll([
[
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b7020000e8d2a526a4a22d1e0300000000',
'0x01',
],
[
'0x99971b5749ac43e0235e41b0d37869188ee7418a6531173d60d1f6a82d8f4d5143ce24f679759c60d1cd42f70aeae77f6d6f646c6163612f636470740000000000000000000000000000000000000000d67c5ba80ba065480001',
'0x01',
],
])

expect(
await layer6.getKeysPaged(
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b7020000',
10,
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b7020000',
),
).toEqual([
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b702000001a12dfa1fa4ab9a0000',
'0x94533e05c34400caee0d8976774f0dd064443ba500633e46053c7a0a68b8ef3392a72b59fc8b67b7020000e8d2a526a4a22d1e0300000000',
])
})
})
6 changes: 3 additions & 3 deletions packages/core/src/blockchain/storage-layer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,8 @@ export class StorageLayer implements StorageLayerProvider {
const res: string[] = []

const foundNextKey = (key: string) => {
// make sure keys are unique
if (!res.includes(key)) {
// make sure keys are unique and start with the prefix
if (!res.includes(key) && key.startsWith(prefix)) {
res.push(key)
}
}
Expand All @@ -285,7 +285,7 @@ export class StorageLayer implements StorageLayerProvider {
if (idx !== -1) {
if (includeFirst) {
const key = this.#keys[idx]
if (key) {
if (key && key.startsWith(prefix)) {
foundNextKey(key)
}
}
Expand Down

0 comments on commit f661905

Please sign in to comment.