Skip to content
This repository was archived by the owner on Mar 16, 2023. It is now read-only.

Commit fed09a1

Browse files
authored
Merge pull request #526 from AztecProtocol/feat/hot-fixes
feat(sdk): return signature as well as proof with returnproof flag
2 parents 9aa5691 + 6bbdb23 commit fed09a1

File tree

20 files changed

+86
-31
lines changed

20 files changed

+86
-31
lines changed

packages/extension/src/background/services/ApiService/Prove/JoinSplit.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ const getAccountMapping = async ({
197197
user: {
198198
account,
199199
error,
200-
},
200+
} = {},
201201
} = await query(request, userQuery(`
202202
address
203203
linkedPublicKey
@@ -208,6 +208,7 @@ const getAccountMapping = async ({
208208
}
209209
}));
210210

211+
211212
accounts.forEach((account) => {
212213
accountMapping[account.address] = account;
213214
});

packages/extension/src/background/services/ApiService/Prove/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,14 @@ export default async function prove(query, connection) {
7373
data: {
7474
args,
7575
},
76+
sender,
7677
} = query;
7778
const {
7879
proofType,
79-
returnProof,
8080
} = args;
8181

8282
let returnData = {};
83-
if (!returnProof) {
83+
if (sender === 'WEB_CLIENT') {
8484
returnData = await triggerProofUi(query, connection);
8585
} else {
8686
switch (proofType) {

packages/extension/src/background/services/ApiService/Prove/responseDataKeys.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
const fetchOutputNotes = ({ proofData }) => {
1+
const fetchOutputNotes = ({
2+
proofData,
3+
proof,
4+
signature,
5+
signature2,
6+
}) => {
27
const {
38
outputNotes,
49
remainderNote,
@@ -18,16 +23,28 @@ const fetchOutputNotes = ({ proofData }) => {
1823
noteHash,
1924
value,
2025
})),
26+
proof,
27+
signature,
28+
signature2,
29+
2130
};
2231
};
2332

33+
const returnProof = ({ proof, signature, signature2 }) => ({
34+
proof,
35+
signature,
36+
signature2,
37+
});
38+
2439
export default {
2540
DEPOSIT_PROOF: [
2641
fetchOutputNotes,
42+
returnProof,
2743
],
2844
WITHDRAW_PROOF: [],
2945
TRANSFER_PROOF: [
3046
fetchOutputNotes,
47+
returnProof,
3148
],
3249
CREATE_NOTE_FROM_BALANCE_PROOF: [
3350
(data) => {

packages/extension/src/background/services/EventService/helpers/AssetsSyncManager/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ class SyncManager {
1414
constructor() {
1515
this.config = {
1616
syncInterval: 5000, // ms
17+
blocksPerRequest: 50, // ~ per 3 months (~6000 per day)
18+
precisionDelta: 10, //
19+
maxNumberOfAttempts: 5,
1720
};
1821
this.syncConfig = undefined;
1922
this.networks = new Map();

packages/extension/src/background/services/EventService/helpers/NotesSyncManager/factory.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class NotesSyncManagerFactory {
55
managersByNetworks = {};
66

77
config = {
8-
blocksPerRequest: 5307319, // ~ per 3 months (~6000 per day)
8+
blocksPerRequest: 100, // ~ per 3 months (~6000 per day)
99
precisionDelta: 10, //
1010
networkId: null,
1111
};

packages/extension/src/background/services/EventService/helpers/NotesSyncManager/index.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ const infuraLimitError = {
1717
message: 'query returned more than 10000 results',
1818
};
1919

20-
const isInfuraLimitError = error => error && error.code === infuraLimitError.code;
20+
21+
const uriTooLong = {
22+
code: -32603,
23+
};
24+
// eslint-disable-next-line
25+
const isInfuraLimitError = error => error && error.code === infuraLimitError.code || error.code === uriTooLong.code;
2126

2227
const SYNCING_STATUS = {
2328
ACTIVE: 'ACTIVE',
@@ -30,7 +35,7 @@ const SYNCING_STATUS = {
3035
class SyncManager {
3136
constructor() {
3237
this.config = {
33-
blocksPerRequest: 540000, // ~ per 3 months (~6000 per day)
38+
blocksPerRequest: 6000 * 30, // ~ per 3 months (~6000 per day)
3439
precisionDelta: 10, //
3540
maxNumberOfAttempts: 5,
3641
networkId: null,
@@ -134,7 +139,7 @@ class SyncManager {
134139
lastSyncedBlock,
135140
assets,
136141
progressCallbacks,
137-
retriedNumber = 0,
142+
retriedNumber = 5,
138143
} = options;
139144

140145
const syncAddress = this.addresses.get(address);

packages/extension/src/background/services/EventService/helpers/NotesWatcher/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,13 @@ class Watcher {
242242

243243
return subscription;
244244
}
245+
246+
handleFetchError = (error) => {
247+
errorLog('Failed to sync CreateNote / UpdateMetadata / DestroyNote with web3.', error);
248+
if (process.env.NODE_ENV === 'development') {
249+
this.paused = true;
250+
}
251+
};
245252
}
246253

247254
export default Watcher;

packages/extension/src/background/services/EventService/utils/note/fetchNotes.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import Web3 from 'web3';
12
import Web3Service from '~/helpers/Web3Service';
23
import {
34
ZkAsset,
45
} from '~/config/contracts';
56
import decodeNoteLogs from './helpers/decodeNoteLogs';
7+
import { getProviderUrl } from '~/utils/network';
68

79
export default async function fetchNotes({
810
owner,
@@ -16,7 +18,9 @@ export default async function fetchNotes({
1618
ZkAsset.events.updateNoteMetaData,
1719
],
1820
} = {}) {
19-
const { abi, getPastLogs } = Web3Service.eth;
21+
// TODO require network selection
22+
const provider = new Web3.providers.HttpProvider(getProviderUrl(Web3Service.networkId));
23+
const { abi, getPastLogs } = new Web3(provider).eth;
2024

2125
const eventsTopics = events
2226
.map(e => ZkAsset.config.abi.find(({ name, type }) => name === e && type === 'event'))

packages/extension/src/background/services/EventService/utils/note/subscription.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import Web3 from 'web3';
12
import Web3Service from '~/helpers/Web3Service';
23
import {
34
ZkAsset,
@@ -6,6 +7,7 @@ import {
67
errorLog,
78
} from '~/utils/log';
89
import decodeNoteLogs from './helpers/decodeNoteLogs';
10+
import { getProviderUrl } from '~/utils/network';
911

1012
const subscribe = async ({
1113
owner,
@@ -18,10 +20,8 @@ const subscribe = async ({
1820
return null;
1921
}
2022

21-
const {
22-
abi,
23-
subscribe: subscribeOn,
24-
} = Web3Service.eth;
23+
const provider = getProviderUrl(Web3Service.networkId, true);
24+
const { abi, subscribe: subscribeOn } = new Web3(provider).eth;
2525

2626
const eventsTopics = [
2727
ZkAsset.events.createNote,

packages/extension/src/background/tasks/acceptConnection.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
errorLog,
1515
} from '~/utils/log';
1616
import Connection from '../utils/connection';
17-
import migrateIndexedDB from './migrateIndexedDB';
17+
// import migrateIndexedDB from './migrateIndexedDB';
1818
import setupNetworkConfig from './setupNetworkConfig';
1919

2020
const resourceOrigin = getResourceUrl('origin');
@@ -36,7 +36,7 @@ export default function acceptConnection() {
3636

3737
if (clientProfile) {
3838
try {
39-
await migrateIndexedDB();
39+
// await migrateIndexedDB();
4040
networkConfig = await setupNetworkConfig(clientProfile);
4141
connection.initUi();
4242
} catch (e) {

0 commit comments

Comments
 (0)