diff --git a/packages/contract.cm/src/onchain/addWord.ts b/packages/contract.cm/src/onchain/addWord.ts index 52be61d..9537edb 100644 --- a/packages/contract.cm/src/onchain/addWord.ts +++ b/packages/contract.cm/src/onchain/addWord.ts @@ -18,16 +18,25 @@ function hashCode(str: string): string { export const addWord = async (...[word]: AddWordArgs) => { const id = hashCode(word); - console.log('Before storeOp'); + await storeOp(constructClaim(createWordKey(id), { word }, '0x0')); - console.log('After storeOp'); const wordClaim = await readOp>(createWordKey(id)); - console.log('After readOp'); - const newWord = (wordClaim?.body.word ?? '') + '!!!'; - const newId = hashCode(newWord); - console.log('Before 2 storeOp'); - storeOp(constructClaim(createWordKey(newId), { word: newWord }, '0x0')); - console.log('After 2 storeOp'); + const newWord1 = (wordClaim?.body.word ?? '') + '!'; + const newId1 = hashCode(newWord1); + + const newWord2 = (wordClaim?.body.word ?? '') + '!!'; + const newId2 = hashCode(newWord2); + + const newWord3 = (wordClaim?.body.word ?? '') + '!!!'; + const newId3 = hashCode(newWord3); + + await Promise.all([ + storeOp(constructClaim(createWordKey(newId1), { word: newWord1 }, '0x0')), + storeOp(constructClaim(createWordKey(newId2), { word: newWord2 }, '0x0')), + storeOp(constructClaim(createWordKey(newId3), { word: newWord3 }, '0x0')), + ]); + + readOp>(createWordKey(newId3)); }; diff --git a/packages/cwait/src/onchain/executor.ts b/packages/cwait/src/onchain/executor.ts index b410049..280d9c5 100644 --- a/packages/cwait/src/onchain/executor.ts +++ b/packages/cwait/src/onchain/executor.ts @@ -44,6 +44,12 @@ export const executor = method(...args).then(() => resolve(), reject); }); + //@ts-expect-error + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + os.setTimeout(() => { + abortExecution?.(); + }, 0); + await execution; const { authInfo, availableCweb } = getCallParameters(ctx); @@ -79,11 +85,3 @@ export const executor = ), ]; }; - -export const abort = () => { - if (!abortExecution) { - throw new Error('Abort not found'); - } - - abortExecution(); -}; diff --git a/packages/cwait/src/onchain/ops/read.ts b/packages/cwait/src/onchain/ops/read.ts index ac9e789..daf3d8d 100644 --- a/packages/cwait/src/onchain/ops/read.ts +++ b/packages/cwait/src/onchain/ops/read.ts @@ -2,7 +2,6 @@ import { Claim, ClaimKey, constructRead, extractRead, isResolvedRead } from '@co import { TypedClaim } from '../../types'; import { context } from '../context'; -import { abort } from '../executor'; import { pushAwaitedOp } from './awaited'; import { shiftResolvedOp } from './resolved'; @@ -14,7 +13,6 @@ export const readOp = (key: ClaimKey) => { if (!isOp) { pushAwaitedOp(constructRead(context.issuer, key)); - abort(); } else { if (op && !isResolvedRead(op)) { throw new Error('Read operation not found'); diff --git a/packages/cwait/src/onchain/ops/store.ts b/packages/cwait/src/onchain/ops/store.ts index 15ff9da..5abb26d 100644 --- a/packages/cwait/src/onchain/ops/store.ts +++ b/packages/cwait/src/onchain/ops/store.ts @@ -1,8 +1,6 @@ import { Claim, constructStore, isResolvedStore } from '@coinweb/contract-kit'; import { extractStore } from '@coinweb/contract-kit/dist/esm/operations/store'; -import { abort } from '../executor'; - import { pushAwaitedOp } from './awaited'; import { shiftResolvedOp } from './resolved'; @@ -13,7 +11,7 @@ export const storeOp = (claim: Claim) => if (!isOp) { pushAwaitedOp(constructStore(claim)); - abort(); + // abort(); } else { if (op && !isResolvedStore(op)) { throw new Error('Store operation not found'); diff --git a/packages/cwait/src/onchain/ops/take.ts b/packages/cwait/src/onchain/ops/take.ts index 6f3896c..611b8c8 100644 --- a/packages/cwait/src/onchain/ops/take.ts +++ b/packages/cwait/src/onchain/ops/take.ts @@ -1,7 +1,6 @@ import { constructTake, extractTake, isResolvedTake, Claim, ClaimKey } from '@coinweb/contract-kit'; import { TypedClaim } from '../../types'; -import { abort } from '../executor'; import { pushAwaitedOp } from './awaited'; import { shiftResolvedOp } from './resolved'; @@ -13,7 +12,6 @@ export const takeOp = (key: ClaimKey) => if (!isOp) { pushAwaitedOp(constructTake(key)); - abort(); } else { if (op && !isResolvedTake(op)) { throw new Error('Take operation not found'); diff --git a/packages/ui/.env b/packages/ui/.env index 4852fd5..1775691 100644 --- a/packages/ui/.env +++ b/packages/ui/.env @@ -1,4 +1,4 @@ VITE_API_URL='https://api-cloud.coinweb.io/wallet' VITE_EXPLORER_URL='https://explorer.coinweb.io' -VITE_CONTRACT_ADDRESS="0xb5bd653b3e95ea8588b23d9fad48cd4cc6debd26ad9982d1249e116fad9100d5" \ No newline at end of file +VITE_CONTRACT_ADDRESS="0xbaa19b2ee40d26f7d8bcececf9eeaaaed99fa5583527c80bd2c1c6de3753780c" \ No newline at end of file