From bbb7fbccf74c9ab08d718998614ca62f1377610b Mon Sep 17 00:00:00 2001 From: Aliaksandr Bahdanau <90352952+Alejandbel@users.noreply.github.com> Date: Tue, 27 May 2025 12:38:51 +0300 Subject: [PATCH 1/3] fix: fix provider not creating for Non-existing contract --- src/liteClientProvider.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/liteClientProvider.ts b/src/liteClientProvider.ts index a3ba39e..de4f0fd 100644 --- a/src/liteClientProvider.ts +++ b/src/liteClientProvider.ts @@ -92,7 +92,10 @@ export function createLiteClientProvider( stateHash: Buffer.from(state.state.storage.state.stateHash.toString(16), 'hex'), } } else { - throw Error('Unsupported state') + // all other providers treated Uninit and Non-existing as same status. If error thrown here, provider for Non-existing contracts cannot be deployed + storage = { + type: 'uninit', + } } return { From a6c331e1e4a83ed582042c77ee847dab303927be Mon Sep 17 00:00:00 2001 From: Aliaksandr Bahdanau <90352952+Alejandbel@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:08:23 +0300 Subject: [PATCH 2/3] Update liteClientProvider.ts --- src/liteClientProvider.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/liteClientProvider.ts b/src/liteClientProvider.ts index de4f0fd..e69b8d9 100644 --- a/src/liteClientProvider.ts +++ b/src/liteClientProvider.ts @@ -91,11 +91,13 @@ export function createLiteClientProvider( type: 'frozen', stateHash: Buffer.from(state.state.storage.state.stateHash.toString(16), 'hex'), } - } else { + } else if (!state.state) { // all other providers treated Uninit and Non-existing as same status. If error thrown here, provider for Non-existing contracts cannot be deployed storage = { type: 'uninit', } + } else { + throw Error('Unsupported state') } return { From dc3420e7421609ba1df417a0368ba6ff42bd420f Mon Sep 17 00:00:00 2001 From: Aliaksandr Bahdanau <90352952+Alejandbel@users.noreply.github.com> Date: Mon, 2 Jun 2025 16:08:56 +0300 Subject: [PATCH 3/3] Update liteClientProvider.ts --- src/liteClientProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/liteClientProvider.ts b/src/liteClientProvider.ts index e69b8d9..188d6b1 100644 --- a/src/liteClientProvider.ts +++ b/src/liteClientProvider.ts @@ -97,7 +97,7 @@ export function createLiteClientProvider( type: 'uninit', } } else { - throw Error('Unsupported state') + throw Error('Unsupported state') } return {