From 920944e7c117bb6d4b67acf5e535094dcd84af7e Mon Sep 17 00:00:00 2001 From: Nemitari Ajienka Date: Wed, 23 Jul 2025 09:13:54 +0100 Subject: [PATCH 1/5] update calibration testnet public key and npm library version --- blocklock-solidity | 2 +- package.json | 2 +- src/networks.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/blocklock-solidity b/blocklock-solidity index 7395b1d..c8b5f84 160000 --- a/blocklock-solidity +++ b/blocklock-solidity @@ -1 +1 @@ -Subproject commit 7395b1d610d790fd576bdec817cee09080cfa66a +Subproject commit c8b5f846ae81f7ca3fee6250caef122ec2ba3425 diff --git a/package.json b/package.json index 33d16d6..1783a09 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blocklock-js", - "version": "0.0.8-rc6", + "version": "0.0.8-rc7", "description": "A library for encrypting and decrypting data for the future", "source": "src/index.ts", "main": "./dist/cjs/index.cjs", diff --git a/src/networks.ts b/src/networks.ts index d91e6a2..6c7f897 100644 --- a/src/networks.ts +++ b/src/networks.ts @@ -23,7 +23,7 @@ export const FILECOIN_CALIBNET: NetworkConfig = { name: "filecoin_calibnet", chainId: 314159n, contractAddress: "0xF00aB3B64c81b6Ce51f8220EB2bFaa2D469cf702", - publicKey: BLOCKLOCK_TESTNET_PUBLIC_KEY, + publicKey: BLOCKLOCK_MAINNET_PUBLIC_KEY, ibeOpts: { hash: keccak_256, k: 128, From 481d9d1f3aa123335df47293c5603587baa412a9 Mon Sep 17 00:00:00 2001 From: Nemitari Ajienka Date: Wed, 23 Jul 2025 09:24:19 +0100 Subject: [PATCH 2/5] update request id and version --- blocklock-solidity | 2 +- package.json | 2 +- src/blocklock.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/blocklock-solidity b/blocklock-solidity index c8b5f84..546c44a 160000 --- a/blocklock-solidity +++ b/blocklock-solidity @@ -1 +1 @@ -Subproject commit c8b5f846ae81f7ca3fee6250caef122ec2ba3425 +Subproject commit 546c44a78ea3653a9c0352581e34529b67b89106 diff --git a/package.json b/package.json index 1783a09..8ab01b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blocklock-js", - "version": "0.0.8-rc7", + "version": "0.0.8-rc8", "description": "A library for encrypting and decrypting data for the future", "source": "src/index.ts", "main": "./dist/cjs/index.cjs", diff --git a/src/blocklock.ts b/src/blocklock.ts index b93be1a..f4a07a6 100644 --- a/src/blocklock.ts +++ b/src/blocklock.ts @@ -158,7 +158,7 @@ export class Blocklock { const request = await this.blocklockSender.getRequest.staticCall(requestId) const blockHeight = decodeCondition(request.condition) return { - id: request.decryptionRequestID, + id: request.decryptionRequestId, blockHeight: blockHeight, ciphertext: parseSolidityCiphertext(request.ciphertext) } @@ -174,7 +174,7 @@ export class Blocklock { return new Map(Array.from( requests.map((event) => { - const id = event.args.requestID + const id = event.args.requestId const blockHeight = decodeCondition(event.args.condition) return [id, { From 7922d9d52673fa6a240e4cc56c276f10b7f6c62d Mon Sep 17 00:00:00 2001 From: Nemitari Ajienka Date: Thu, 25 Sep 2025 15:28:49 +0100 Subject: [PATCH 3/5] add support for base mainnet --- .DS_Store | Bin 0 -> 6148 bytes src/blocklock.ts | 5 +++++ src/networks.ts | 24 ++++++++++++++++++++++++ test/integration.test.ts | 7 +++++++ 4 files changed, 36 insertions(+) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..64c5e55c0ddf2a8c249c25977fcaa641593eab46 GIT binary patch literal 6148 zcmeHKu};G<5IvWG0(7XDI%Z=6QSk$&gfFPX3Tjie6$zQ1_Q&e`YOJt@AJh*W);)QBoX6haw;EtnsK=UHc@(~o2m`{ve`J8a-GKI~Lp{3kzu)ld^TD6X@;Gj$c@w^Hy?^u8t3Dr1&nFA# z``yXeuz9QzN;}k~lyYj(#TfT!08ff+63&Q5eom$Q^lsTWKVN+~x_9|5_0BAx)biU{ zzs}NY#C4YG5;Y~%rZdXSXow2iH1KQNc)xvIwAQcZy*A*5`2#jmTX27ku3N?bchzCIJu&@XZ PM1BMe4Pu0WKV{$>mu81V literal 0 HcmV?d00001 diff --git a/src/blocklock.ts b/src/blocklock.ts index f4a07a6..2c0658a 100644 --- a/src/blocklock.ts +++ b/src/blocklock.ts @@ -13,6 +13,7 @@ import { ARBITRUM_SEPOLIA, AVALANCHE_C_CHAIN, BASE_SEPOLIA, + BASE_MAINNET, FILECOIN_CALIBNET, FILECOIN_MAINNET, OPTIMISM_SEPOLIA, @@ -281,6 +282,10 @@ export class Blocklock { return new Blocklock(rpc, BASE_SEPOLIA) } + static createBaseMainnet(rpc: Signer | Provider): Blocklock { + return new Blocklock(rpc, BASE_MAINNET) + } + static createPolygonPos(rpc: Signer | Provider): Blocklock { return new Blocklock(rpc, POLYGON_POS) } diff --git a/src/networks.ts b/src/networks.ts index 6c7f897..54e8be5 100644 --- a/src/networks.ts +++ b/src/networks.ts @@ -91,6 +91,30 @@ export const BASE_SEPOLIA: NetworkConfig = { gasMultiplierDefault: 10n, } +export const BASE_MAINNET: NetworkConfig = { + name: "base_mainnet", + chainId: 8453n, + contractAddress: "0x8E7D2c0c968B5aCA6f7ce2ffaA76AEcf61235b9F", + publicKey: BLOCKLOCK_MAINNET_PUBLIC_KEY, + ibeOpts: { + hash: keccak_256, + k: 128, + expand_fn: "xmd", + dsts: { + H1_G1: encodeBytes(`BLOCKLOCK_BN254G1_XMD:KECCAK-256_SVDW_RO_H1_0x0000000000000000000000000000000000000000000000000000000000002105_`), + H2: encodeBytes(`BLOCKLOCK_BN254_XMD:KECCAK-256_H2_0x0000000000000000000000000000000000000000000000000000000000002105_`), + H3: encodeBytes(`BLOCKLOCK_BN254_XMD:KECCAK-256_H3_0x0000000000000000000000000000000000000000000000000000000000002105_`), + H4: encodeBytes(`BLOCKLOCK_BN254_XMD:KECCAK-256_H4_0x0000000000000000000000000000000000000000000000000000000000002105_`), + } + }, + gasLimit: 100_000, + maxFeePerGas: ethers.parseUnits("0.2", "gwei"), + maxPriorityFeePerGas: ethers.parseUnits("0.2", "gwei"), + gasBufferPercent: 100n, + callbackGasLimitDefault: 1_000_000n, + gasMultiplierDefault: 10n, +} + export const POLYGON_POS: NetworkConfig = { name: "polygon_pos", chainId: 137n, diff --git a/test/integration.test.ts b/test/integration.test.ts index 38b40a0..ae04ed7 100644 --- a/test/integration.test.ts +++ b/test/integration.test.ts @@ -35,6 +35,13 @@ describe("Blocklock integration tests with supported networks", () => { await runEncryptionTest(rpc, blocklock) }, TIMEOUT) + it.skip("should encrypt and decrypt for base mainnet", async () => { + const rpc = createProvider(process.env.BASE_RPC_URL || "") + const wallet = new NonceManager(new Wallet(process.env.BASE_PRIVATE_KEY || "", rpc)) + const blocklock = Blocklock.createBaseMainnet(wallet) + await runEncryptionTest(rpc, blocklock) + }, TIMEOUT) + it.skip("should encrypt and decrypt for filecoin mainnet", async () => { const rpc = createProvider(process.env.FILECOIN_MAINNET_RPC_URL || "") const wallet = new NonceManager(new Wallet(process.env.FILECOIN_MAINNET_PRIVATE_KEY || "", rpc)) From e5c2f3fae5722d0d85cfbaf13e60977e6dd16607 Mon Sep 17 00:00:00 2001 From: Nemitari Ajienka Date: Thu, 25 Sep 2025 15:29:21 +0100 Subject: [PATCH 4/5] update gitignore --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 3 +++ 2 files changed, 3 insertions(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 64c5e55c0ddf2a8c249c25977fcaa641593eab46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKu};G<5IvWG0(7XDI%Z=6QSk$&gfFPX3Tjie6$zQ1_Q&e`YOJt@AJh*W);)QBoX6haw;EtnsK=UHc@(~o2m`{ve`J8a-GKI~Lp{3kzu)ld^TD6X@;Gj$c@w^Hy?^u8t3Dr1&nFA# z``yXeuz9QzN;}k~lyYj(#TfT!08ff+63&Q5eom$Q^lsTWKVN+~x_9|5_0BAx)biU{ zzs}NY#C4YG5;Y~%rZdXSXow2iH1KQNc)xvIwAQcZy*A*5`2#jmTX27ku3N?bchzCIJu&@XZ PM1BMe4Pu0WKV{$>mu81V diff --git a/.gitignore b/.gitignore index 489e49f..09ee604 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ docs/ # Dotenv file .env + +# MacOS files +.DS_Store From 978f44328dc5f47e5a8685de4fc9b3f107a5980b Mon Sep 17 00:00:00 2001 From: Nemitari Ajienka Date: Thu, 25 Sep 2025 15:30:20 +0100 Subject: [PATCH 5/5] merge with master --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8ab01b5..063f432 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blocklock-js", - "version": "0.0.8-rc8", + "version": "1.0.0", "description": "A library for encrypting and decrypting data for the future", "source": "src/index.ts", "main": "./dist/cjs/index.cjs",