@prosopo/procaptcha-pow 0.3.40 → 0.3.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAGH,mBAAmB,EACnB,2BAA2B,EAG3B,eAAe,EACf,uBAAuB,EAC1B,MAAM,gBAAgB,CAAA;AAcvB,eAAO,MAAM,OAAO,gBACH,2BAA2B,SACjC,eAAe,iBACP,uBAAuB,aAC3B,mBAAmB;;CAsLjC,CAAA"}
1
+ {"version":3,"file":"Manager.d.ts","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAGH,mBAAmB,EACnB,2BAA2B,EAG3B,eAAe,EACf,uBAAuB,EAC1B,MAAM,gBAAgB,CAAA;AAcvB,eAAO,MAAM,OAAO,gBACH,2BAA2B,SACjC,eAAe,iBACP,uBAAuB,aAC3B,mBAAmB;;CA8LjC,CAAA"}
@@ -3,7 +3,7 @@ import { ApiPromise } from '@polkadot/api/promise/Api';
3
3
  import { ExtensionWeb2 } from '@prosopo/account';
4
4
  import { Keyring } from '@polkadot/keyring';
5
5
  import { ProsopoCaptchaContract, wrapQuery } from '@prosopo/contract';
6
- import { ProsopoContractError, ProsopoEnvError, trimProviderUrl } from '@prosopo/common';
6
+ import { ProsopoEnvError, trimProviderUrl } from '@prosopo/common';
7
7
  import { ProviderApi } from '@prosopo/api';
8
8
  import { WsProvider } from '@polkadot/rpc-provider/ws';
9
9
  import { ContractAbi as abiJson } from '@prosopo/captcha-contract/contract-info';
@@ -11,6 +11,7 @@ import { buildUpdateState, getDefaultEvents } from '@prosopo/procaptcha-common';
11
11
  import { sleep } from '@prosopo/procaptcha';
12
12
  import { solvePoW } from '@prosopo/util';
13
13
  export const Manager = (configInput, state, onStateUpdate, callbacks) => {
14
+ const events = getDefaultEvents(onStateUpdate, state, callbacks);
14
15
  const defaultState = () => {
15
16
  return {
16
17
  showModal: false,
@@ -68,18 +69,19 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
68
69
  const dappAccount = state.dappAccount;
69
70
  return dappAccount;
70
71
  };
71
- const getBlockNumber = () => {
72
- if (!state.blockNumber) {
73
- throw new ProsopoContractError('CAPTCHA.INVALID_BLOCK_NO', { context: { error: 'Block number not found' } });
74
- }
75
- const blockNumber = state.blockNumber;
76
- return blockNumber;
77
- };
78
72
  const updateState = buildUpdateState(state, onStateUpdate);
79
73
  const resetState = () => {
80
74
  clearTimeout();
81
75
  updateState(defaultState());
82
76
  };
77
+ const setValidChallengeTimeout = () => {
78
+ const timeMillis = getConfig().captchas.pow.solutionTimeout;
79
+ const successfullChallengeTimeout = setTimeout(() => {
80
+ updateState({ isHuman: false });
81
+ events.onExpired();
82
+ }, timeMillis);
83
+ updateState({ successfullChallengeTimeout });
84
+ };
83
85
  const start = async () => {
84
86
  if (state.loading) {
85
87
  return;
@@ -111,7 +113,7 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
111
113
  const providerApi = new ProviderApi(getNetwork(getConfig()), providerUrl, getDappAccount());
112
114
  const challenge = await providerApi.getPowCaptchaChallenge(userAccount, getDappAccount());
113
115
  const solution = solvePoW(challenge.challenge, challenge.difficulty);
114
- const verifiedSolution = await providerApi.submitPowCaptchaSolution(challenge, getAccount().account.address, getDappAccount(), getRandomProviderResponse, solution);
116
+ const verifiedSolution = await providerApi.submitPowCaptchaSolution(challenge, getAccount().account.address, getDappAccount(), getRandomProviderResponse, solution, config.captchas.pow.verifiedTimeout);
115
117
  if (verifiedSolution[ApiParams.verified]) {
116
118
  updateState({
117
119
  isHuman: true,
@@ -124,6 +126,7 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
124
126
  [ApiParams.challenge]: challenge.challenge,
125
127
  [ApiParams.blockNumber]: getRandomProviderResponse.blockNumber,
126
128
  });
129
+ setValidChallengeTimeout();
127
130
  }
128
131
  };
129
132
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const procaptchaCommon = require("@prosopo/procaptcha-common");
13
13
  const procaptcha = require("@prosopo/procaptcha");
14
14
  const util = require("@prosopo/util");
15
15
  const Manager = (configInput, state, onStateUpdate, callbacks) => {
16
+ const events = procaptchaCommon.getDefaultEvents(onStateUpdate, state, callbacks);
16
17
  const defaultState = () => {
17
18
  return {
18
19
  // note order matters! see buildUpdateState. These fields are set in order, so disable modal first, then set loading to false, etc.
@@ -79,18 +80,19 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
79
80
  const dappAccount = state.dappAccount;
80
81
  return dappAccount;
81
82
  };
82
- const getBlockNumber = () => {
83
- if (!state.blockNumber) {
84
- throw new common.ProsopoContractError("CAPTCHA.INVALID_BLOCK_NO", { context: { error: "Block number not found" } });
85
- }
86
- const blockNumber = state.blockNumber;
87
- return blockNumber;
88
- };
89
83
  const updateState = procaptchaCommon.buildUpdateState(state, onStateUpdate);
90
84
  const resetState = () => {
91
85
  clearTimeout();
92
86
  updateState(defaultState());
93
87
  };
88
+ const setValidChallengeTimeout = () => {
89
+ const timeMillis = getConfig().captchas.pow.solutionTimeout;
90
+ const successfullChallengeTimeout = setTimeout(() => {
91
+ updateState({ isHuman: false });
92
+ events.onExpired();
93
+ }, timeMillis);
94
+ updateState({ successfullChallengeTimeout });
95
+ };
94
96
  const start = async () => {
95
97
  if (state.loading) {
96
98
  return;
@@ -116,7 +118,7 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
116
118
  });
117
119
  }
118
120
  const contract$1 = await loadContract();
119
- const events = procaptchaCommon.getDefaultEvents(onStateUpdate, state, callbacks);
121
+ const events2 = procaptchaCommon.getDefaultEvents(onStateUpdate, state, callbacks);
120
122
  const getRandomProviderResponse = await contract.wrapQuery(
121
123
  contract$1.query.getRandomActiveProvider,
122
124
  contract$1.query
@@ -130,20 +132,22 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
130
132
  getAccount().account.address,
131
133
  getDappAccount(),
132
134
  getRandomProviderResponse,
133
- solution
135
+ solution,
136
+ config.captchas.pow.verifiedTimeout
134
137
  );
135
138
  if (verifiedSolution[types.ApiParams.verified]) {
136
139
  updateState({
137
140
  isHuman: true,
138
141
  loading: false
139
142
  });
140
- events.onHuman({
143
+ events2.onHuman({
141
144
  providerUrl,
142
145
  [types.ApiParams.user]: getAccount().account.address,
143
146
  [types.ApiParams.dapp]: getDappAccount(),
144
147
  [types.ApiParams.challenge]: challenge.challenge,
145
148
  [types.ApiParams.blockNumber]: getRandomProviderResponse.blockNumber
146
149
  });
150
+ setValidChallengeTimeout();
147
151
  }
148
152
  };
149
153
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/procaptcha-pow",
3
- "version": "0.3.40",
3
+ "version": "0.3.41",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -35,19 +35,19 @@
35
35
  ],
36
36
  "dependencies": {
37
37
  "@emotion/react": "^11.11.1",
38
- "@prosopo/account": "0.3.40",
38
+ "@prosopo/account": "0.3.41",
39
39
  "@polkadot/api": "10.13.1",
40
40
  "@polkadot/keyring": "12.6.2",
41
41
  "@polkadot/rpc-provider": "10.13.1",
42
- "@prosopo/api": "0.3.40",
43
- "@prosopo/captcha-contract": "0.3.40",
44
- "@prosopo/common": "0.3.40",
45
- "@prosopo/contract": "0.3.40",
46
- "@prosopo/procaptcha": "0.3.40",
47
- "@prosopo/procaptcha-common": "0.3.40",
48
- "@prosopo/types": "0.3.40",
49
- "@prosopo/util": "0.3.40",
50
- "@prosopo/web-components": "0.3.40",
42
+ "@prosopo/api": "0.3.41",
43
+ "@prosopo/captcha-contract": "0.3.41",
44
+ "@prosopo/common": "0.3.41",
45
+ "@prosopo/contract": "0.3.41",
46
+ "@prosopo/procaptcha": "0.3.41",
47
+ "@prosopo/procaptcha-common": "0.3.41",
48
+ "@prosopo/types": "0.3.41",
49
+ "@prosopo/util": "0.3.41",
50
+ "@prosopo/web-components": "0.3.41",
51
51
  "react": "^18.3.1"
52
52
  },
53
53
  "overrides": {