diff --git a/package-lock.json b/package-lock.json index 304628a..ce050cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@auxo-dev/auxo-libs", - "version": "0.4.11", + "version": "0.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@auxo-dev/auxo-libs", - "version": "0.4.11", + "version": "0.5.0", "license": "Apache-2.0", "dependencies": { - "o1js": "./pkg/o1js-0.17.0.tgz" + "o1js": "0.18.0" }, "devDependencies": { "@babel/preset-env": "^7.16.4", @@ -2826,9 +2826,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.4.tgz", - "integrity": "sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -3680,9 +3680,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001606", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz", - "integrity": "sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg==", + "version": "1.0.30001608", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001608.tgz", + "integrity": "sha512-cjUJTQkk9fQlJR2s4HMuPMvTiRggl0rAVMtthQuyOlDWuqHXqN8azLq+pi8B2TjwKJ32diHjUqRIKeFX4z1FoA==", "dev": true, "funding": [ { @@ -4060,9 +4060,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.728", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.728.tgz", - "integrity": "sha512-Ud1v7hJJYIqehlUJGqR6PF1Ek8l80zWwxA6nGxigBsGJ9f9M2fciHyrIiNMerSHSH3p+0/Ia7jIlnDkt41h5cw==", + "version": "1.4.732", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.732.tgz", + "integrity": "sha512-nLrzr6UML+oqCyvseTxJ1WxLsnMSQPJCoHu+MuOuNiCp7BHEdG9AmCTw2Y9FU/wFFc/ETE0F6JVtzzPryEjecw==", "dev": true }, "node_modules/emittery": { @@ -7506,9 +7506,9 @@ "dev": true }, "node_modules/o1js": { - "version": "0.17.0", - "resolved": "file:pkg/o1js-0.17.0.tgz", - "integrity": "sha512-k8KOf3XUU89SJSkUZrvHvR6yThOHY861QOHQqIZQjkK/CPoE6DANWJxl3xv5wxfyXH0CdWLbgaNRku9qbs60ug==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/o1js/-/o1js-0.18.0.tgz", + "integrity": "sha512-A4XFfRLUHxB8ZUzctpxmYA4kBi3ZRwSgeK/KKuWxf2kDmaxjWOxbCzH/1wHelom4QKIgSIaJpXkAtR0jJv7tqw==", "dependencies": { "blakejs": "1.2.1", "cachedir": "^2.4.0", diff --git a/package.json b/package.json index 8b7daa3..7708fab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@auxo-dev/auxo-libs", - "version": "0.4.11", + "version": "0.5.0", "description": "", "author": "", "license": "Apache-2.0", @@ -59,6 +59,6 @@ "typescript": "^4.7.2" }, "dependencies": { - "o1js": "./pkg/o1js-0.17.0.tgz" + "o1js": "0.18.0" } } diff --git a/pkg/o1js-0.17.0.tgz b/pkg/o1js-0.17.0.tgz deleted file mode 100644 index 774267e..0000000 Binary files a/pkg/o1js-0.17.0.tgz and /dev/null differ diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 29f7330..70b2aec 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -47,8 +47,9 @@ type Profiler = { }; type Logger = { - info: boolean; - memoryUsage: boolean; + info?: boolean; + error?: boolean; + memoryUsage?: boolean; }; type Program = { diff --git a/src/utils/index.ts b/src/utils/index.ts index d232281..8e84054 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -29,6 +29,7 @@ export { proveAndSendTx, deployZkApps, sendTx, + fetchNonce, fetchActions, fetchEvents, fetchZkAppState, diff --git a/src/utils/network.test.ts b/src/utils/network.test.ts index ce22972..192c179 100644 --- a/src/utils/network.test.ts +++ b/src/utils/network.test.ts @@ -46,6 +46,7 @@ describe('Network', () => { const cache = Cache.FileSystem('caches'); const logger = { info: true, + error: true, memoryUsage: true, }; const profiler = getProfiler('Test', fs); @@ -108,7 +109,7 @@ describe('Network', () => { }); it('should compile contract', async () => { - if (doProofs) await compile(TestContract, cache, logger, profiler); + if (doProofs) await compile(TestContract, cache, profiler, logger); }); it('should deploy zkApp', async () => { @@ -128,8 +129,8 @@ describe('Network', () => { TestContract.name, 'test', (testZkApp.contract as TestContract).test(Field(1), Field(1)), - logger, - profiler + profiler, + logger ); }); @@ -155,9 +156,9 @@ describe('Network', () => { async () => (testZkApp.contract as TestContract).test(Field(1), Field(1)), feePayer, - logger, + true, profiler, - true + logger ); }); diff --git a/src/utils/network.ts b/src/utils/network.ts index 5134646..ed69695 100644 --- a/src/utils/network.ts +++ b/src/utils/network.ts @@ -56,8 +56,8 @@ function randomAccounts( async function compile( program: Program, cache?: Cache, - logger?: Logger, - profiler?: Profiler + profiler?: Profiler, + logger?: Logger ): Promise<{ verificationKey: { data: string; hash: Field }; }> { @@ -79,8 +79,8 @@ async function prove( programName: string, methodName: string, proofGeneration: Promise, - logger?: Logger, - profiler?: Profiler + profiler?: Profiler, + logger?: Logger ): Promise { if (logger && logger.memoryUsage) console.log('Current memory usage:', getMemoryUsage(), 'MB'); @@ -95,7 +95,8 @@ async function prove( async function sendTx( tx: Transaction, - waitForBlock = false + waitForBlock = false, + logger?: Logger ): Promise { let retries = MAX_RETRY; let result; @@ -106,17 +107,20 @@ async function sendTx( if (waitForBlock) return await (result as PendingTransaction).wait(); } else if (result.status === 'rejected') { - console.error('Transaction failed with errors:'); + if (logger && logger.error) + console.error('Failed to send Tx with errors:'); throw result.errors; } return result; } catch (error) { retries--; - console.log('Transaction failed to be sent with error:', error); - console.log(`Retrying...`); + if (logger && logger.error) { + console.error('Failed to send Tx with errors:', error); + console.log(`Retrying...`); + } } } - throw new Error(`Transaction cannot be sent after ${MAX_RETRY} retries!`); + throw new Error(`Failed to send Tx after ${MAX_RETRY} retries!`); } async function proveAndSendTx( @@ -124,9 +128,9 @@ async function proveAndSendTx( methodName: string, functionCall: () => Promise, feePayer: FeePayer, - logger?: Logger, + waitForBlock = false, profiler?: Profiler, - waitForBlock = false + logger?: Logger ) { if (logger && logger.memoryUsage) console.log('Current memory usage:', getMemoryUsage(), 'MB'); @@ -163,8 +167,8 @@ async function deployZkApps( } ], feePayer: FeePayer, - logger?: Logger, - waitForBlock = false + waitForBlock = false, + logger?: Logger ): Promise { for (let i = 0; i < deployData.length; i++) { if (deployData[i].zkApp.contract === undefined) @@ -214,16 +218,18 @@ async function deployZkApps( return result; } -async function fetchNonce(publicKey: PublicKey): Promise { +async function fetchNonce( + publicKey: PublicKey, + logger?: Logger +): Promise { try { let { account, error } = await fetchAccount({ publicKey: publicKey, }); if (account == undefined) throw error; - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion return Number(account.nonce); } catch (error) { - console.error(error); + if (logger && logger.error) console.error(error); } }