@ocap/indexdb-memory 1.18.67 → 1.18.69

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/lib/db/base.js +20 -1
  2. package/package.json +5 -5
package/lib/db/base.js CHANGED
@@ -134,6 +134,22 @@ class LocalBaseIndexDB extends BaseIndexDB {
134
134
  return { transactions, paging: nextPaging };
135
135
  }
136
136
 
137
+ async getRelatedAddresses(address) {
138
+ let account = await this.account.get(address);
139
+ if (!account) {
140
+ return [];
141
+ }
142
+
143
+ const related = [address];
144
+ while (account && account.migratedFrom && related.length <= 8) {
145
+ related.push(account.migratedFrom);
146
+ // eslint-disable-next-line no-await-in-loop
147
+ account = await this.account.get(account.migratedFrom);
148
+ }
149
+
150
+ return related;
151
+ }
152
+
137
153
  async listAssets({ ownerAddress, factoryAddress, paging, timeFilter = {} } = {}) {
138
154
  if (!ownerAddress && !factoryAddress) {
139
155
  return { assets: [], account: null };
@@ -152,7 +168,10 @@ class LocalBaseIndexDB extends BaseIndexDB {
152
168
 
153
169
  const query = this.asset.collection.chain();
154
170
  if (ownerAddress) {
155
- query.where((x) => x.owner === ownerAddress);
171
+ const possibleOwners = await this.getRelatedAddresses(ownerAddress);
172
+ if (possibleOwners.length) {
173
+ query.where((x) => possibleOwners.includes(x.owner));
174
+ }
156
175
  }
157
176
  if (factoryAddress) {
158
177
  query.where((x) => x.parent === factoryAddress);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ocap/indexdb-memory",
3
3
  "description": "OCAP indexdb adapter that uses memory as backend, just for test purpose",
4
- "version": "1.18.67",
4
+ "version": "1.18.69",
5
5
  "author": "wangshijun <shijun@arcblock.io> (https://www.arcblock.io)",
6
6
  "bugs": {
7
7
  "url": "https://github.com/ArcBlock/asset-chain/issues",
@@ -37,11 +37,11 @@
37
37
  "test": "jest --forceExit --detectOpenHandles",
38
38
  "coverage": "npm run test -- --coverage"
39
39
  },
40
- "gitHead": "40f65fa14f3cf56113e8b6de5168a64cdd17f164",
40
+ "gitHead": "464d72d0a7107cb6f81afa78b74361018ecdc2e4",
41
41
  "dependencies": {
42
- "@arcblock/did": "1.18.67",
43
- "@ocap/indexdb": "1.18.67",
44
- "@ocap/util": "1.18.67",
42
+ "@arcblock/did": "1.18.69",
43
+ "@ocap/indexdb": "1.18.69",
44
+ "@ocap/util": "1.18.69",
45
45
  "debug": "^4.3.4",
46
46
  "empty-value": "^1.0.1",
47
47
  "lodash": "^4.17.21",