@prosopo/procaptcha-pow 0.3.3 → 0.3.5
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.
- package/dist/Services/Manager.d.ts.map +1 -1
- package/dist/Services/Manager.js +21 -10
- package/dist/Services/Manager.js.map +1 -1
- package/dist/cjs/Services/Manager.cjs +21 -10
- package/dist/cjs/account/dist/extension/ExtensionWeb2.cjs +2 -2
- package/dist/cjs/components/Captcha.cjs +3 -3
- package/dist/cjs/web-components/dist/CaptchaPlaceholder.cjs +3 -3
- package/dist/cjs/web-components/dist/WidgetConstants.cjs +6 -0
- package/dist/cjs/web-components/dist/index.cjs +3 -0
- package/dist/components/Captcha.d.ts.map +1 -1
- package/dist/components/Captcha.js +4 -4
- package/dist/components/Captcha.js.map +1 -1
- package/package.json +8 -8
|
@@ -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;;
|
|
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;;CAkLjC,CAAA"}
|
package/dist/Services/Manager.js
CHANGED
|
@@ -45,7 +45,11 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
45
45
|
};
|
|
46
46
|
const loadContract = async () => {
|
|
47
47
|
const network = getNetwork(getConfig());
|
|
48
|
-
const api = await ApiPromise.create({
|
|
48
|
+
const api = await ApiPromise.create({
|
|
49
|
+
provider: new WsProvider(network.endpoint),
|
|
50
|
+
initWasm: false,
|
|
51
|
+
noInitWarn: true,
|
|
52
|
+
});
|
|
49
53
|
const type = 'sr25519';
|
|
50
54
|
const keyring = new Keyring({ type, ss58Format: api.registry.chainSS58 });
|
|
51
55
|
return new ProsopoCaptchaContract(api, JSON.parse(abiJson), network.contract.address, 'prosopo', 0, keyring.addFromAddress(getConfig().account.address || ''));
|
|
@@ -84,8 +88,13 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
84
88
|
return;
|
|
85
89
|
}
|
|
86
90
|
resetState();
|
|
87
|
-
updateState({ loading: true });
|
|
88
91
|
const config = getConfig();
|
|
92
|
+
const ext = new ExtensionWeb2();
|
|
93
|
+
const userAccount = config.userAccountAddress || (await ext.getAccount(config)).account.address;
|
|
94
|
+
updateState({
|
|
95
|
+
loading: true,
|
|
96
|
+
account: { account: { address: userAccount } },
|
|
97
|
+
});
|
|
89
98
|
updateState({ dappAccount: config.account.address });
|
|
90
99
|
await sleep(100);
|
|
91
100
|
if (!config.web2 && !config.userAccountAddress) {
|
|
@@ -93,23 +102,25 @@ export const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
93
102
|
context: { error: 'Account address has not been set for web3 mode' },
|
|
94
103
|
});
|
|
95
104
|
}
|
|
96
|
-
const ext = new ExtensionWeb2();
|
|
97
|
-
const account = await ext.getAccount(config);
|
|
98
105
|
const contract = await loadContract();
|
|
99
106
|
const events = getDefaultEvents(onStateUpdate, state, callbacks);
|
|
100
|
-
const getRandomProviderResponse = await wrapQuery(contract.query.getRandomActiveProvider, contract.query)(
|
|
107
|
+
const getRandomProviderResponse = await wrapQuery(contract.query.getRandomActiveProvider, contract.query)(userAccount, getDappAccount());
|
|
101
108
|
const providerUrl = trimProviderUrl(getRandomProviderResponse.provider.url.toString());
|
|
102
109
|
const providerApi = new ProviderApi(getNetwork(getConfig()), providerUrl, getDappAccount());
|
|
103
|
-
const challenge = await providerApi.getPowCaptchaChallenge(
|
|
110
|
+
const challenge = await providerApi.getPowCaptchaChallenge(userAccount, getDappAccount());
|
|
104
111
|
const solution = solvePoW(challenge.challenge, challenge.difficulty);
|
|
105
|
-
await providerApi.submitPowCaptchaSolution(challenge, getAccount().account.address, getDappAccount(), getRandomProviderResponse, solution);
|
|
106
|
-
if (
|
|
112
|
+
const verifiedSolution = await providerApi.submitPowCaptchaSolution(challenge, getAccount().account.address, getDappAccount(), getRandomProviderResponse, solution);
|
|
113
|
+
if (verifiedSolution[ApiParams.verified]) {
|
|
114
|
+
updateState({
|
|
115
|
+
isHuman: true,
|
|
116
|
+
loading: false,
|
|
117
|
+
});
|
|
107
118
|
events.onHuman({
|
|
108
119
|
providerUrl,
|
|
109
120
|
[ApiParams.user]: getAccount().account.address,
|
|
110
121
|
[ApiParams.dapp]: getDappAccount(),
|
|
111
|
-
[ApiParams.
|
|
112
|
-
[ApiParams.blockNumber]:
|
|
122
|
+
[ApiParams.challenge]: challenge.challenge,
|
|
123
|
+
[ApiParams.blockNumber]: getRandomProviderResponse.blockNumber,
|
|
113
124
|
});
|
|
114
125
|
}
|
|
115
126
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,SAAS,EAIT,sBAAsB,GAGzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,WAAwC,EACxC,KAAsB,EACtB,aAAsC,EACtC,SAA8B,EAChC,EAAE;IACA,MAAM,YAAY,GAAG,GAA6B,EAAE;QAChD,OAAO;YAEH,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAErB,CAAA;IACL,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QAEtB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAElC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,MAAM,MAAM,GAAgC;YACxC,kBAAkB,EAAE,EAAE;YACtB,GAAG,WAAW;SACjB,CAAA;QAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,MAAoC,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE;gBACrD,OAAO,EAAE,EAAE,KAAK,EAAE,oCAAoC,MAAM,CAAC,kBAAkB,EAAE,EAAE;aACtF,CAAC,CAAA;SACL;QACD,OAAO,OAAO,CAAA;IAClB,CAAC,CAAA;IAID,MAAM,YAAY,GAAG,KAAK,IAAqC,EAAE;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Manager.js","sourceRoot":"","sources":["../../src/Services/Manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAEH,SAAS,EAIT,sBAAsB,GAGzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,WAAwC,EACxC,KAAsB,EACtB,aAAsC,EACtC,SAA8B,EAChC,EAAE;IACA,MAAM,YAAY,GAAG,GAA6B,EAAE;QAChD,OAAO;YAEH,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;SAErB,CAAA;IACL,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QAEtB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAElC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,MAAM,MAAM,GAAgC;YACxC,kBAAkB,EAAE,EAAE;YACtB,GAAG,WAAW;SACjB,CAAA;QAED,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,MAAoC,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,eAAe,CAAC,6BAA6B,EAAE;gBACrD,OAAO,EAAE,EAAE,KAAK,EAAE,oCAAoC,MAAM,CAAC,kBAAkB,EAAE,EAAE;aACtF,CAAC,CAAA;SACL;QACD,OAAO,OAAO,CAAA;IAClB,CAAC,CAAA;IAID,MAAM,YAAY,GAAG,KAAK,IAAqC,EAAE;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC;YAChC,QAAQ,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;SACnB,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,SAAS,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAEzE,OAAO,IAAI,sBAAsB,CAC7B,GAAG,EACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,EACxB,SAAS,EACT,CAAC,EACD,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAC5D,CAAA;IACL,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAChB,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;SACvG;QACD,MAAM,OAAO,GAAY,KAAK,CAAC,OAAO,CAAA;QACtC,OAAO,OAAO,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAA;SACxD;QAED,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,CAAA;QAC7C,OAAO,WAAW,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAA;SAC/G;QACD,MAAM,WAAW,GAAW,KAAK,CAAC,WAAW,CAAA;QAC7C,OAAO,WAAW,CAAA;IACtB,CAAC,CAAA;IAGD,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,GAAG,EAAE;QAEpB,YAAY,EAAE,CAAA;QACd,WAAW,CAAC,YAAY,EAAE,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACrB,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,OAAM;SACT;QACD,IAAI,KAAK,CAAC,OAAO,EAAE;YACf,OAAM;SACT;QAED,UAAU,EAAE,CAAA;QAEZ,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAG1B,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAA;QAG/B,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;QAG/F,WAAW,CAAC;YACR,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;SACjD,CAAC,CAAA;QAGF,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAGpD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QAGhB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;YAC5C,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE;gBACnD,OAAO,EAAE,EAAE,KAAK,EAAE,gDAAgD,EAAE;aACvE,CAAC,CAAA;SACL;QAED,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;QAGhE,MAAM,yBAAyB,GAAmB,MAAM,SAAS,CAC7D,QAAQ,CAAC,KAAK,CAAC,uBAAuB,EACtC,QAAQ,CAAC,KAAK,CACjB,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAA;QAEhC,MAAM,WAAW,GAAG,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEtF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAA;QAE3F,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,sBAAsB,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC,CAAA;QAEzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;QACpE,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAC/D,SAAS,EACT,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,EAC5B,cAAc,EAAE,EAChB,yBAAyB,EACzB,QAAQ,CACX,CAAA;QACD,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtC,WAAW,CAAC;gBACR,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;aACjB,CAAC,CAAA;YACF,MAAM,CAAC,OAAO,CAAC;gBACX,WAAW;gBACX,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO;gBAC9C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;gBAClC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS;gBAC1C,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,WAAW;aACjE,CAAC,CAAA;SACL;IACL,CAAC,CAAA;IAED,OAAO;QACH,KAAK;KACR,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -50,7 +50,11 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
50
50
|
};
|
|
51
51
|
const loadContract = async () => {
|
|
52
52
|
const network = getNetwork(getConfig());
|
|
53
|
-
const api2 = await Api.ApiPromise.create({
|
|
53
|
+
const api2 = await Api.ApiPromise.create({
|
|
54
|
+
provider: new ws.WsProvider(network.endpoint),
|
|
55
|
+
initWasm: false,
|
|
56
|
+
noInitWarn: true
|
|
57
|
+
});
|
|
54
58
|
const type = "sr25519";
|
|
55
59
|
const keyring$1 = new keyring.Keyring({ type, ss58Format: api2.registry.chainSS58 });
|
|
56
60
|
return new contract.ProsopoCaptchaContract(
|
|
@@ -96,8 +100,13 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
96
100
|
return;
|
|
97
101
|
}
|
|
98
102
|
resetState();
|
|
99
|
-
updateState({ loading: true });
|
|
100
103
|
const config = getConfig();
|
|
104
|
+
const ext = new ExtensionWeb2.ExtensionWeb2();
|
|
105
|
+
const userAccount = config.userAccountAddress || (await ext.getAccount(config)).account.address;
|
|
106
|
+
updateState({
|
|
107
|
+
loading: true,
|
|
108
|
+
account: { account: { address: userAccount } }
|
|
109
|
+
});
|
|
101
110
|
updateState({ dappAccount: config.account.address });
|
|
102
111
|
await procaptcha.sleep(100);
|
|
103
112
|
if (!config.web2 && !config.userAccountAddress) {
|
|
@@ -105,32 +114,34 @@ const Manager = (configInput, state, onStateUpdate, callbacks) => {
|
|
|
105
114
|
context: { error: "Account address has not been set for web3 mode" }
|
|
106
115
|
});
|
|
107
116
|
}
|
|
108
|
-
const ext = new ExtensionWeb2.ExtensionWeb2();
|
|
109
|
-
const account = await ext.getAccount(config);
|
|
110
117
|
const contract$1 = await loadContract();
|
|
111
118
|
const events = procaptchaCommon.getDefaultEvents(onStateUpdate, state, callbacks);
|
|
112
119
|
const getRandomProviderResponse = await contract.wrapQuery(
|
|
113
120
|
contract$1.query.getRandomActiveProvider,
|
|
114
121
|
contract$1.query
|
|
115
|
-
)(
|
|
122
|
+
)(userAccount, getDappAccount());
|
|
116
123
|
const providerUrl = common.trimProviderUrl(getRandomProviderResponse.provider.url.toString());
|
|
117
124
|
const providerApi = new api.ProviderApi(getNetwork(getConfig()), providerUrl, getDappAccount());
|
|
118
|
-
const challenge = await providerApi.getPowCaptchaChallenge(
|
|
125
|
+
const challenge = await providerApi.getPowCaptchaChallenge(userAccount, getDappAccount());
|
|
119
126
|
const solution = SolverService.solvePoW(challenge.challenge, challenge.difficulty);
|
|
120
|
-
await providerApi.submitPowCaptchaSolution(
|
|
127
|
+
const verifiedSolution = await providerApi.submitPowCaptchaSolution(
|
|
121
128
|
challenge,
|
|
122
129
|
getAccount().account.address,
|
|
123
130
|
getDappAccount(),
|
|
124
131
|
getRandomProviderResponse,
|
|
125
132
|
solution
|
|
126
133
|
);
|
|
127
|
-
if (
|
|
134
|
+
if (verifiedSolution[types.ApiParams.verified]) {
|
|
135
|
+
updateState({
|
|
136
|
+
isHuman: true,
|
|
137
|
+
loading: false
|
|
138
|
+
});
|
|
128
139
|
events.onHuman({
|
|
129
140
|
providerUrl,
|
|
130
141
|
[types.ApiParams.user]: getAccount().account.address,
|
|
131
142
|
[types.ApiParams.dapp]: getDappAccount(),
|
|
132
|
-
[types.ApiParams.
|
|
133
|
-
[types.ApiParams.blockNumber]:
|
|
143
|
+
[types.ApiParams.challenge]: challenge.challenge,
|
|
144
|
+
[types.ApiParams.blockNumber]: getRandomProviderResponse.blockNumber
|
|
134
145
|
});
|
|
135
146
|
}
|
|
136
147
|
};
|
|
@@ -58,7 +58,7 @@ class ExtensionWeb2 extends Extension.Extension {
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
name: "procaptcha-web2",
|
|
61
|
-
version: "0.
|
|
61
|
+
version: "0.3.x",
|
|
62
62
|
signer
|
|
63
63
|
};
|
|
64
64
|
}
|
|
@@ -77,7 +77,7 @@ class ExtensionWeb2 extends Extension.Extension {
|
|
|
77
77
|
const entropy = common.hexHash([canvasEntropy, browserEntropy].join(""), 128).slice(2);
|
|
78
78
|
const u8Entropy = string.stringToU8a(entropy);
|
|
79
79
|
const mnemonic = bip39.entropyToMnemonic(u8Entropy);
|
|
80
|
-
const api = await Api.ApiPromise.create({ provider: wsProvider, initWasm: false });
|
|
80
|
+
const api = await Api.ApiPromise.create({ provider: wsProvider, initWasm: false, noInitWarn: true });
|
|
81
81
|
const type = "ed25519";
|
|
82
82
|
const keyring$1 = new keyring.Keyring({ type, ss58Format: api.registry.chainSS58 });
|
|
83
83
|
const keypair = keyring$1.addFromMnemonic(mnemonic);
|
|
@@ -24,11 +24,11 @@ const Procaptcha = (props) => {
|
|
|
24
24
|
"div",
|
|
25
25
|
{
|
|
26
26
|
style: {
|
|
27
|
-
padding:
|
|
28
|
-
border:
|
|
27
|
+
padding: WidgetConstants.WIDGET_PADDING,
|
|
28
|
+
border: WidgetConstants.WIDGET_BORDER,
|
|
29
29
|
backgroundColor: theme$1.palette.background.default,
|
|
30
30
|
borderColor: theme$1.palette.grey[300],
|
|
31
|
-
borderRadius:
|
|
31
|
+
borderRadius: WidgetConstants.WIDGET_BORDER_RADIUS,
|
|
32
32
|
display: "flex",
|
|
33
33
|
alignItems: "center",
|
|
34
34
|
flexWrap: "wrap",
|
|
@@ -10,11 +10,11 @@ const ProcaptchaPlaceholder = (props) => {
|
|
|
10
10
|
const themeColor = props.darkMode === "light" ? "light" : "dark";
|
|
11
11
|
const theme$1 = props.darkMode === "light" ? theme.lightTheme : theme.darkTheme;
|
|
12
12
|
return jsxRuntime.jsx("div", { children: jsxRuntime.jsx("div", { style: { maxWidth: "100%", maxHeight: "100%", overflowX: "auto" }, children: jsxRuntime.jsx(Containers.ContainerDiv, { children: jsxRuntime.jsx(Containers.WidthBasedStylesDiv, { children: jsxRuntime.jsxs("div", { style: WidgetConstants.WIDGET_DIMENSIONS, "data-cy": "button-human", children: [" ", jsxRuntime.jsxs("div", { style: {
|
|
13
|
-
padding:
|
|
14
|
-
border:
|
|
13
|
+
padding: WidgetConstants.WIDGET_PADDING,
|
|
14
|
+
border: WidgetConstants.WIDGET_BORDER,
|
|
15
15
|
backgroundColor: theme$1.palette.background.default,
|
|
16
16
|
borderColor: theme$1.palette.grey[300],
|
|
17
|
-
borderRadius:
|
|
17
|
+
borderRadius: WidgetConstants.WIDGET_BORDER_RADIUS,
|
|
18
18
|
display: "flex",
|
|
19
19
|
alignItems: "center",
|
|
20
20
|
flexWrap: "wrap",
|
|
@@ -5,8 +5,14 @@ const WIDGET_URL_TEXT = "Visit prosopo.io to learn more about the service and it
|
|
|
5
5
|
const WIDGET_INNER_HEIGHT = 74;
|
|
6
6
|
const WIDGET_OUTER_HEIGHT = 80;
|
|
7
7
|
const WIDGET_DIMENSIONS = { maxWidth: "400px", minWidth: "200px", minHeight: `${WIDGET_OUTER_HEIGHT}px` };
|
|
8
|
+
const WIDGET_BORDER_RADIUS = "8px";
|
|
9
|
+
const WIDGET_PADDING = "2px";
|
|
10
|
+
const WIDGET_BORDER = "1px solid";
|
|
11
|
+
exports.WIDGET_BORDER = WIDGET_BORDER;
|
|
12
|
+
exports.WIDGET_BORDER_RADIUS = WIDGET_BORDER_RADIUS;
|
|
8
13
|
exports.WIDGET_DIMENSIONS = WIDGET_DIMENSIONS;
|
|
9
14
|
exports.WIDGET_INNER_HEIGHT = WIDGET_INNER_HEIGHT;
|
|
10
15
|
exports.WIDGET_OUTER_HEIGHT = WIDGET_OUTER_HEIGHT;
|
|
16
|
+
exports.WIDGET_PADDING = WIDGET_PADDING;
|
|
11
17
|
exports.WIDGET_URL = WIDGET_URL;
|
|
12
18
|
exports.WIDGET_URL_TEXT = WIDGET_URL_TEXT;
|
|
@@ -15,8 +15,11 @@ exports.Checkbox = Checkbox.Checkbox;
|
|
|
15
15
|
exports.Logo = Logo;
|
|
16
16
|
exports.ContainerDiv = Containers.ContainerDiv;
|
|
17
17
|
exports.WidthBasedStylesDiv = Containers.WidthBasedStylesDiv;
|
|
18
|
+
exports.WIDGET_BORDER = WidgetConstants.WIDGET_BORDER;
|
|
19
|
+
exports.WIDGET_BORDER_RADIUS = WidgetConstants.WIDGET_BORDER_RADIUS;
|
|
18
20
|
exports.WIDGET_DIMENSIONS = WidgetConstants.WIDGET_DIMENSIONS;
|
|
19
21
|
exports.WIDGET_INNER_HEIGHT = WidgetConstants.WIDGET_INNER_HEIGHT;
|
|
20
22
|
exports.WIDGET_OUTER_HEIGHT = WidgetConstants.WIDGET_OUTER_HEIGHT;
|
|
23
|
+
exports.WIDGET_PADDING = WidgetConstants.WIDGET_PADDING;
|
|
21
24
|
exports.WIDGET_URL = WidgetConstants.WIDGET_URL;
|
|
22
25
|
exports.WIDGET_URL_TEXT = WidgetConstants.WIDGET_URL_TEXT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Captcha.d.ts","sourceRoot":"","sources":["../../src/components/Captcha.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Captcha.d.ts","sourceRoot":"","sources":["../../src/components/Captcha.tsx"],"names":[],"mappings":"AA8BA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,QAAA,MAAM,UAAU,UAAW,eAAe,qDAsFzC,CAAA;AACD,eAAe,UAAU,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { Checkbox, ContainerDiv, LoadingSpinner, Logo, WIDGET_DIMENSIONS, WIDGET_INNER_HEIGHT, WIDGET_URL, WIDGET_URL_TEXT, WidthBasedStylesDiv, darkTheme, lightTheme, } from '@prosopo/web-components';
|
|
2
|
+
import { Checkbox, ContainerDiv, LoadingSpinner, Logo, WIDGET_BORDER, WIDGET_BORDER_RADIUS, WIDGET_DIMENSIONS, WIDGET_INNER_HEIGHT, WIDGET_PADDING, WIDGET_URL, WIDGET_URL_TEXT, WidthBasedStylesDiv, darkTheme, lightTheme, } from '@prosopo/web-components';
|
|
3
3
|
import { Manager } from '../Services/Manager.js';
|
|
4
4
|
import { buildUpdateState, useProcaptcha } from '@prosopo/procaptcha-common';
|
|
5
5
|
import { useRef, useState } from 'react';
|
|
@@ -12,11 +12,11 @@ const Procaptcha = (props) => {
|
|
|
12
12
|
const updateState = buildUpdateState(state, _updateState);
|
|
13
13
|
const manager = Manager(config, state, updateState, callbacks);
|
|
14
14
|
return (_jsx("div", { children: _jsx("div", { style: { maxWidth: '100%', maxHeight: '100%', overflowX: 'auto' }, children: _jsx(ContainerDiv, { children: _jsx(WidthBasedStylesDiv, { children: _jsxs("div", { style: WIDGET_DIMENSIONS, "data-cy": 'button-human', children: [' ', _jsxs("div", { style: {
|
|
15
|
-
padding:
|
|
16
|
-
border:
|
|
15
|
+
padding: WIDGET_PADDING,
|
|
16
|
+
border: WIDGET_BORDER,
|
|
17
17
|
backgroundColor: theme.palette.background.default,
|
|
18
18
|
borderColor: theme.palette.grey[300],
|
|
19
|
-
borderRadius:
|
|
19
|
+
borderRadius: WIDGET_BORDER_RADIUS,
|
|
20
20
|
display: 'flex',
|
|
21
21
|
alignItems: 'center',
|
|
22
22
|
flexWrap: 'wrap',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Captcha.js","sourceRoot":"","sources":["../../src/components/Captcha.tsx"],"names":[],"mappings":";AAaA,OAAO,EACH,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,IAAI,EACJ,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,UAAU,GACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAExC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IACrE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAA;IACvC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAE9D,OAAO,CACH,wBACI,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAClE,KAAC,YAAY,cACT,KAAC,mBAAmB,cAChB,eAAK,KAAK,EAAE,iBAAiB,aAAW,cAAc,aACjD,GAAG,EACJ,eACI,KAAK,EAAE;oCACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Captcha.js","sourceRoot":"","sources":["../../src/components/Captcha.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prosopo/procaptcha-pow",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"author": "PROSOPO LIMITED <info@prosopo.io>",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"@emotion/styled": "^11.11.0",
|
|
38
38
|
"@noble/hashes": "^1.3.3",
|
|
39
39
|
"@polkadot/extension-inject": "0.46.6",
|
|
40
|
-
"@prosopo/account": "0.3.
|
|
41
|
-
"@prosopo/api": "0.3.
|
|
42
|
-
"@prosopo/common": "0.3.
|
|
43
|
-
"@prosopo/procaptcha": "0.3.
|
|
44
|
-
"@prosopo/types": "0.3.
|
|
45
|
-
"@prosopo/util": "0.3.
|
|
46
|
-
"@prosopo/web-components": "0.3.
|
|
40
|
+
"@prosopo/account": "0.3.5",
|
|
41
|
+
"@prosopo/api": "0.3.5",
|
|
42
|
+
"@prosopo/common": "0.3.5",
|
|
43
|
+
"@prosopo/procaptcha": "0.3.5",
|
|
44
|
+
"@prosopo/types": "0.3.5",
|
|
45
|
+
"@prosopo/util": "0.3.5",
|
|
46
|
+
"@prosopo/web-components": "0.3.5",
|
|
47
47
|
"react": "^18.2.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|