@prosopo/client-example-server 0.2.4 → 0.2.6

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.
@@ -59420,7 +59420,7 @@ const pathLookup = {
59420
59420
  return found;
59421
59421
  }
59422
59422
  };
59423
- var specialCases = ["hans", "hant", "latn", "cyrl", "cans", "mong", "arab"];
59423
+ var specialCases = ["hans", "hant", "latn", "cyrl", "cans", "mong", "arab", "419"];
59424
59424
  const headerLookup = {
59425
59425
  name: "header",
59426
59426
  lookup: function lookup4(req, res, options2) {
@@ -59438,7 +59438,7 @@ const headerLookup = {
59438
59438
  return acceptLanguage.toLowerCase().indexOf("-".concat(s2)) > 0;
59439
59439
  });
59440
59440
  if (foundSpecialCase)
59441
- lookupRegex = /(([a-z]{2,3})-?([A-Z]{4})?)\s*;?\s*(q=([0-9.]+))?/gi;
59441
+ lookupRegex = /(([a-z]{2,3})-?([A-Z0-9]{2,4})?)\s*;?\s*(q=([0-9.]+))?/gi;
59442
59442
  }
59443
59443
  var lngs = [];
59444
59444
  var i;
@@ -148174,10 +148174,11 @@ class ZodType {
148174
148174
  }
148175
148175
  const cuidRegex = /^c[^\s-]{8,}$/i;
148176
148176
  const cuid2Regex = /^[a-z][a-z0-9]*$/;
148177
- const ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/;
148177
+ const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/;
148178
148178
  const uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;
148179
- const emailRegex = /^([A-Z0-9_+-]+\.?)*[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
148180
- const emojiRegex = /^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u;
148179
+ const emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
148180
+ const _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
148181
+ let emojiRegex;
148181
148182
  const ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;
148182
148183
  const ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;
148183
148184
  const datetimeRegex = (args2) => {
@@ -148211,27 +148212,6 @@ function isValidIP(ip2, version2) {
148211
148212
  return false;
148212
148213
  }
148213
148214
  class ZodString extends ZodType {
148214
- constructor() {
148215
- super(...arguments);
148216
- this._regex = (regex2, validation2, message) => this.refinement((data) => regex2.test(data), {
148217
- validation: validation2,
148218
- code: ZodIssueCode.invalid_string,
148219
- ...errorUtil.errToObj(message)
148220
- });
148221
- this.nonempty = (message) => this.min(1, errorUtil.errToObj(message));
148222
- this.trim = () => new ZodString({
148223
- ...this._def,
148224
- checks: [...this._def.checks, { kind: "trim" }]
148225
- });
148226
- this.toLowerCase = () => new ZodString({
148227
- ...this._def,
148228
- checks: [...this._def.checks, { kind: "toLowerCase" }]
148229
- });
148230
- this.toUpperCase = () => new ZodString({
148231
- ...this._def,
148232
- checks: [...this._def.checks, { kind: "toUpperCase" }]
148233
- });
148234
- }
148235
148215
  _parse(input) {
148236
148216
  if (this._def.coerce) {
148237
148217
  input.data = String(input.data);
@@ -148316,6 +148296,9 @@ class ZodString extends ZodType {
148316
148296
  status.dirty();
148317
148297
  }
148318
148298
  } else if (check.kind === "emoji") {
148299
+ if (!emojiRegex) {
148300
+ emojiRegex = new RegExp(_emojiRegex, "u");
148301
+ }
148319
148302
  if (!emojiRegex.test(input.data)) {
148320
148303
  ctx = this._getOrReturnCtx(input, ctx);
148321
148304
  addIssueToContext(ctx, {
@@ -148452,6 +148435,13 @@ class ZodString extends ZodType {
148452
148435
  }
148453
148436
  return { status: status.value, value: input.data };
148454
148437
  }
148438
+ _regex(regex2, validation2, message) {
148439
+ return this.refinement((data) => regex2.test(data), {
148440
+ validation: validation2,
148441
+ code: ZodIssueCode.invalid_string,
148442
+ ...errorUtil.errToObj(message)
148443
+ });
148444
+ }
148455
148445
  _addCheck(check) {
148456
148446
  return new ZodString({
148457
148447
  ...this._def,
@@ -148549,6 +148539,31 @@ class ZodString extends ZodType {
148549
148539
  ...errorUtil.errToObj(message)
148550
148540
  });
148551
148541
  }
148542
+ /**
148543
+ * @deprecated Use z.string().min(1) instead.
148544
+ * @see {@link ZodString.min}
148545
+ */
148546
+ nonempty(message) {
148547
+ return this.min(1, errorUtil.errToObj(message));
148548
+ }
148549
+ trim() {
148550
+ return new ZodString({
148551
+ ...this._def,
148552
+ checks: [...this._def.checks, { kind: "trim" }]
148553
+ });
148554
+ }
148555
+ toLowerCase() {
148556
+ return new ZodString({
148557
+ ...this._def,
148558
+ checks: [...this._def.checks, { kind: "toLowerCase" }]
148559
+ });
148560
+ }
148561
+ toUpperCase() {
148562
+ return new ZodString({
148563
+ ...this._def,
148564
+ checks: [...this._def.checks, { kind: "toUpperCase" }]
148565
+ });
148566
+ }
148552
148567
  get isDatetime() {
148553
148568
  return !!this._def.checks.find((ch) => ch.kind === "datetime");
148554
148569
  }
@@ -152575,7 +152590,7 @@ let Methods$3 = class Methods {
152575
152590
  return dist.buildSubmittableExtrinsic(this.__apiPromise, this.__nativeContract, "setCodeHash", [codeHash], __options);
152576
152591
  }
152577
152592
  };
152578
- const ContractAbi = `{"source":{"hash":"0x6b5c8bfa6e2f6d5bc01492702f7266e7efce4f09f006003953957c4cf98c369a","language":"ink! 4.3.0","compiler":"rustc 1.69.0","build_info":{"build_mode":"Debug","cargo_contract_version":"3.0.1","rust_toolchain":"stable-x86_64-unknown-linux-gnu","wasm_opt_settings":{"keep_debug_symbols":false,"optimization_passes":"Z"}}},"contract":{"name":"captcha","version":"0.2.4","authors":["Chris Taylor chris@prosopo.io","George Oastler george@prosopo.io","Vincenzo Ferrara","Siniša Čanak"]},"spec":{"constructors":[{"args":[],"default":false,"docs":["Constructor"],"label":"new","payable":true,"returnType":{"displayName":["ink_primitives","ConstructorResult"],"type":10},"selector":"0x9bae9d5e"},{"args":[],"default":false,"docs":[],"label":"new_panic","payable":false,"returnType":{"displayName":["ink_primitives","ConstructorResult"],"type":15},"selector":"0x794560e8"}],"docs":[],"environment":{"accountId":{"displayName":["AccountId"],"type":7},"balance":{"displayName":["Balance"],"type":0},"blockNumber":{"displayName":["BlockNumber"],"type":1},"chainExtension":{"displayName":["ChainExtension"],"type":68},"hash":{"displayName":["Hash"],"type":4},"maxEventTopics":4,"timestamp":{"displayName":["Timestamp"],"type":67}},"events":[],"lang_error":{"displayName":["ink","LangError"],"type":14},"messages":[{"args":[],"default":false,"docs":[" Get the git commit id from when this contract was built"],"label":"get_git_commit_id","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":16},"selector":"0x3685e994"},{"args":[],"default":false,"docs":[" the admin which can control this contract. set to author/instantiator by default"],"label":"get_admin","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":18},"selector":"0x57b8a8a7"},{"args":[],"default":false,"docs":[" Get all payee options"],"label":"get_payees","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":19},"selector":"0xf334a6d7"},{"args":[],"default":false,"docs":[" Get all dapp payee options"],"label":"get_dapp_payees","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":22},"selector":"0xcce851af"},{"args":[],"default":false,"docs":[" Get all status options"],"label":"get_statuses","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":25},"selector":"0xd39608f0"},{"args":[],"default":false,"docs":[" Get contract provider minimum stake default."],"label":"get_provider_stake_threshold","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0x3e7e8941"},{"args":[],"default":false,"docs":[" Get contract dapp minimum stake default."],"label":"get_dapp_stake_threshold","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0xc9834fee"},{"args":[],"default":false,"docs":[" the maximum fee a provider can charge for a commit"],"label":"get_max_provider_fee","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0xd799cf93"},{"args":[],"default":false,"docs":[" the minimum number of providers needed for the contract to function"],"label":"get_min_num_active_providers","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0xa200bea1"},{"args":[],"default":false,"docs":[" the time to complete a block, 6 seconds by default"],"label":"get_block_time","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0x8d3f151d"},{"args":[],"default":false,"docs":[" the max age of a commit for a user before it is removed from the history, in seconds"],"label":"get_max_user_history_age_seconds","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0xcab4fa0a"},{"args":[],"default":false,"docs":[" the max number of commits stored for a single user"],"label":"get_max_user_history_len","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0xfb715e71"},{"args":[],"default":false,"docs":[" the max age of a commit for a user before it is removed from the history, in blocks"],"label":"get_max_user_history_age_blocks","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0x6f3337c3"},{"args":[{"label":"url","type":{"displayName":["Vec"],"type":2}},{"label":"fee","type":{"displayName":["u32"],"type":1}},{"label":"payee","type":{"displayName":["Payee"],"type":21}}],"default":false,"docs":[" Register a provider, their url and fee"],"label":"provider_register","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xc66f9a2a"},{"args":[{"label":"url","type":{"displayName":["Vec"],"type":2}},{"label":"fee","type":{"displayName":["u32"],"type":1}},{"label":"payee","type":{"displayName":["Payee"],"type":21}}],"default":false,"docs":[" Update an existing provider, their url, fee and deposit funds"],"label":"provider_update","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xd2f70de8"},{"args":[],"default":false,"docs":[" De-activate a provider by setting their status to Deactivated"],"label":"provider_deactivate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xa65232da"},{"args":[],"default":false,"docs":[" Unstake and deactivate the provider's service, returning stake"],"label":"provider_deregister","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x5eff53cf"},{"args":[{"label":"account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get an existing provider"],"label":"get_provider","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":32},"selector":"0x457c7444"},{"args":[],"default":false,"docs":[" Fund a provider"],"label":"provider_fund","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x54ee83bb"},{"args":[{"label":"dataset_id","type":{"displayName":["Hash"],"type":4}},{"label":"dataset_id_content","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Add a new data set"],"label":"provider_set_dataset","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xb0e7ab99"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get an existing dapp"],"label":"get_dapp","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":35},"selector":"0xf96477c0"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}},{"label":"payee","type":{"displayName":["DappPayee"],"type":24}}],"default":false,"docs":[" Register a dapp"],"label":"dapp_register","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x42b45efa"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}},{"label":"payee","type":{"displayName":["DappPayee"],"type":24}},{"label":"owner","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Update a dapp with new funds, setting status as appropriate"],"label":"dapp_update","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x5dbfa904"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Fund dapp account to pay for services, if the Dapp caller is registered in self.dapps"],"label":"dapp_fund","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x55da62a9"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Cancel services as a dapp, returning remaining tokens"],"label":"dapp_deregister","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xdc7da4d5"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Deactivate a dapp, leaving stake intact"],"label":"dapp_deactivate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x94718d6f"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[],"label":"get_user_history_summary","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":38},"selector":"0x3be12ad6"},{"args":[{"label":"commit","type":{"displayName":["Commit"],"type":41}}],"default":false,"docs":[" Provider submits a captcha solution commitment"],"label":"provider_commit","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x57876316"},{"args":[{"label":"commits","type":{"displayName":["Vec"],"type":44}}],"default":false,"docs":[" Provider submits 0-many captcha solution commitments"],"label":"provider_commit_many","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xc8d4b3b2"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"threshold","type":{"displayName":["u8"],"type":3}}],"default":false,"docs":[" Checks if the user is a human (true) as they have a solution rate higher than a % threshold or a bot (false)"," Threshold is decided by the calling user"," Threshold is between 0-200, i.e. 0-100% in 0.5% increments. E.g. 100 = 50%, 200 = 100%, 0 = 0%, 50 = 25%, etc."],"label":"dapp_operator_is_human_user","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":45},"selector":"0xbe7b6ef9"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get the last correct captcha for a user"],"label":"dapp_operator_last_correct_captcha","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":48},"selector":"0xbe930f18"},{"args":[{"label":"dataset_id","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Get a single captcha dataset",""," Returns an error if the dapp does not exist"],"label":"get_captcha_data","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":51},"selector":"0x7a54158d"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a dapp user",""," Returns an error if the user does not exist"],"label":"get_user","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":54},"selector":"0xa4ca534e"},{"args":[{"label":"commit_id","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Get a solution commitment",""," Returns an error if the commitment does not exist"],"label":"get_commit","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":57},"selector":"0x5329f551"},{"args":[{"label":"provider_accounts","type":{"displayName":["Vec"],"type":8}}],"default":false,"docs":[" List providers given an array of account id",""," Returns empty if none were matched"],"label":"list_providers_by_accounts","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":59},"selector":"0x52f0d2cb"},{"args":[{"label":"statuses","type":{"displayName":["Vec"],"type":26}}],"default":false,"docs":[" List providers given an array of status",""," Returns empty if none were matched"],"label":"list_providers_by_status","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":59},"selector":"0x54b28ab4"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"dapp_contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a random active provider",""," Returns error if no active provider is found"],"label":"get_random_active_provider","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":62},"selector":"0x4aee5bad"},{"args":[],"default":false,"docs":[" Get the AccountIds of all Providers ever registered",""," Returns {Vec<AccountId>}"],"label":"get_all_provider_accounts","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":65},"selector":"0x5052021f"},{"args":[{"label":"len","type":{"displayName":["u128"],"type":0}},{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"dapp_contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a random number from 0 to \`len\` - 1 inclusive. The user account is added to the seed for additional random entropy."],"label":"get_random_number","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0x2306aecd"},{"args":[],"default":false,"docs":[" Terminate this contract and return any/all funds in this contract to the destination"],"label":"terminate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x476d839f"},{"args":[{"label":"amount","type":{"displayName":["Balance"],"type":0}}],"default":false,"docs":[" Withdraw some funds from the contract to the specified destination"],"label":"withdraw","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x410fcc9d"},{"args":[{"label":"code_hash","type":{"displayName":[],"type":5}}],"default":false,"docs":[" Set the code hash for this contract"],"label":"set_code_hash","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x9e5c5758"}]},"storage":{"root":{"layout":{"struct":{"fields":[{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"enum":{"dispatchKey":"0x31f906a7","name":"GovernanceStatus","variants":{"0":{"fields":[],"name":"Active"},"1":{"fields":[],"name":"Inactive"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x31f906a7","ty":0}},"name":"balance"},{"layout":{"leaf":{"key":"0x31f906a7","ty":1}},"name":"fee"},{"layout":{"enum":{"dispatchKey":"0x31f906a7","name":"Payee","variants":{"0":{"fields":[],"name":"Provider"},"1":{"fields":[],"name":"Dapp"}}}},"name":"payee"},{"layout":{"leaf":{"key":"0x31f906a7","ty":2}},"name":"url"},{"layout":{"leaf":{"key":"0x31f906a7","ty":4}},"name":"dataset_id"},{"layout":{"leaf":{"key":"0x31f906a7","ty":4}},"name":"dataset_id_content"}],"name":"Provider"}},"root_key":"0x31f906a7"}},"name":"providers"},{"layout":{"root":{"layout":{"leaf":{"key":"0x25c2603c","ty":6}},"root_key":"0x25c2603c"}},"name":"provider_accounts"},{"layout":{"root":{"layout":{"leaf":{"key":"0xd1b08cc7","ty":7}},"root_key":"0xd1b08cc7"}},"name":"urls"},{"layout":{"root":{"layout":{"leaf":{"key":"0xd1cefe50","ty":7}},"root_key":"0xd1cefe50"}},"name":"datasets"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"enum":{"dispatchKey":"0x14493d1d","name":"GovernanceStatus","variants":{"0":{"fields":[],"name":"Active"},"1":{"fields":[],"name":"Inactive"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x14493d1d","ty":0}},"name":"balance"},{"layout":{"leaf":{"key":"0x14493d1d","ty":7}},"name":"owner"},{"layout":{"enum":{"dispatchKey":"0x14493d1d","name":"DappPayee","variants":{"0":{"fields":[],"name":"Provider"},"1":{"fields":[],"name":"Dapp"},"2":{"fields":[],"name":"Any"}}}},"name":"payee"}],"name":"Dapp"}},"root_key":"0x14493d1d"}},"name":"dapps"},{"layout":{"root":{"layout":{"leaf":{"key":"0x455ca62f","ty":6}},"root_key":"0x455ca62f"}},"name":"dapp_contracts"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"leaf":{"key":"0x81a766df","ty":4}},"name":"id"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"user_account"},{"layout":{"leaf":{"key":"0x81a766df","ty":4}},"name":"dataset_id"},{"layout":{"enum":{"dispatchKey":"0x81a766df","name":"CaptchaStatus","variants":{"0":{"fields":[],"name":"Pending"},"1":{"fields":[],"name":"Approved"},"2":{"fields":[],"name":"Disapproved"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"dapp_contract"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"provider_account"},{"layout":{"leaf":{"key":"0x81a766df","ty":1}},"name":"requested_at"},{"layout":{"leaf":{"key":"0x81a766df","ty":1}},"name":"completed_at"},{"layout":{"array":{"layout":{"leaf":{"key":"0x81a766df","ty":3}},"len":64,"offset":"0x81a766df"}},"name":"user_signature"}],"name":"Commit"}},"root_key":"0x81a766df"}},"name":"commits"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"leaf":{"key":"0x5a3119c3","ty":9}},"name":"history"}],"name":"User"}},"root_key":"0x5a3119c3"}},"name":"users"},{"layout":{"root":{"layout":{"leaf":{"key":"0x43f9649b","ty":6}},"root_key":"0x43f9649b"}},"name":"user_accounts"}],"name":"Captcha"}},"root_key":"0xabcdef01"}},"types":[{"id":0,"type":{"def":{"primitive":"u128"}}},{"id":1,"type":{"def":{"primitive":"u32"}}},{"id":2,"type":{"def":{"sequence":{"type":3}}}},{"id":3,"type":{"def":{"primitive":"u8"}}},{"id":4,"type":{"def":{"composite":{"fields":[{"type":5,"typeName":"[u8; 32]"}]}},"path":["ink_primitives","types","Hash"]}},{"id":5,"type":{"def":{"array":{"len":32,"type":3}}}},{"id":6,"type":{"def":{"composite":{"fields":[{"type":8}]}},"params":[{"name":"T","type":7}],"path":["BTreeSet"]}},{"id":7,"type":{"def":{"composite":{"fields":[{"type":5,"typeName":"[u8; 32]"}]}},"path":["ink_primitives","types","AccountId"]}},{"id":8,"type":{"def":{"sequence":{"type":7}}}},{"id":9,"type":{"def":{"sequence":{"type":4}}}},{"id":10,"type":{"def":{"variant":{"variants":[{"fields":[{"type":11}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":11},{"name":"E","type":14}],"path":["Result"]}},{"id":11,"type":{"def":{"variant":{"variants":[{"fields":[{"type":12}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":12},{"name":"E","type":13}],"path":["Result"]}},{"id":12,"type":{"def":{"tuple":[]}}},{"id":13,"type":{"def":{"variant":{"variants":[{"index":0,"name":"NotAuthorised"},{"index":1,"name":"TransferFailed"},{"index":2,"name":"SetCodeHashFailed"},{"index":3,"name":"InvalidDestination"},{"index":4,"name":"UnknownMessage"},{"index":5,"name":"ProviderAccountExists"},{"index":6,"name":"ProviderExists"},{"index":7,"name":"ProviderAccountDoesNotExist"},{"index":8,"name":"ProviderDoesNotExist"},{"index":9,"name":"ProviderInsufficientFunds"},{"index":10,"name":"ProviderInactive"},{"index":11,"name":"ProviderUrlUsed"},{"index":12,"name":"DappExists"},{"index":13,"name":"DappDoesNotExist"},{"index":14,"name":"DappInactive"},{"index":15,"name":"DappInsufficientFunds"},{"index":16,"name":"CaptchaDataDoesNotExist"},{"index":17,"name":"CommitDoesNotExist"},{"index":18,"name":"DappUserDoesNotExist"},{"index":19,"name":"NoActiveProviders"},{"index":20,"name":"DatasetIdSolutionsSame"},{"index":21,"name":"CodeNotFound"},{"index":22,"name":"Unknown"},{"index":23,"name":"InvalidContract"},{"index":24,"name":"InvalidPayee"},{"index":25,"name":"InvalidCaptchaStatus"},{"index":26,"name":"NoCorrectCaptcha"},{"index":27,"name":"NotEnoughActiveProviders"},{"index":28,"name":"ProviderFeeTooHigh"},{"index":29,"name":"CommitAlreadyExists"},{"index":30,"name":"NotAuthor"}]}},"path":["common","common","Error"]}},{"id":14,"type":{"def":{"variant":{"variants":[{"index":1,"name":"CouldNotReadInput"}]}},"path":["ink_primitives","LangError"]}},{"id":15,"type":{"def":{"variant":{"variants":[{"fields":[{"type":12}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":12},{"name":"E","type":14}],"path":["Result"]}},{"id":16,"type":{"def":{"variant":{"variants":[{"fields":[{"type":17}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":17},{"name":"E","type":14}],"path":["Result"]}},{"id":17,"type":{"def":{"array":{"len":20,"type":3}}}},{"id":18,"type":{"def":{"variant":{"variants":[{"fields":[{"type":7}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":7},{"name":"E","type":14}],"path":["Result"]}},{"id":19,"type":{"def":{"variant":{"variants":[{"fields":[{"type":20}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":20},{"name":"E","type":14}],"path":["Result"]}},{"id":20,"type":{"def":{"sequence":{"type":21}}}},{"id":21,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Provider"},{"index":1,"name":"Dapp"}]}},"path":["captcha","captcha","Payee"]}},{"id":22,"type":{"def":{"variant":{"variants":[{"fields":[{"type":23}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":23},{"name":"E","type":14}],"path":["Result"]}},{"id":23,"type":{"def":{"sequence":{"type":24}}}},{"id":24,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Provider"},{"index":1,"name":"Dapp"},{"index":2,"name":"Any"}]}},"path":["captcha","captcha","DappPayee"]}},{"id":25,"type":{"def":{"variant":{"variants":[{"fields":[{"type":26}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":26},{"name":"E","type":14}],"path":["Result"]}},{"id":26,"type":{"def":{"sequence":{"type":27}}}},{"id":27,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Active"},{"index":1,"name":"Inactive"}]}},"path":["captcha","captcha","GovernanceStatus"]}},{"id":28,"type":{"def":{"variant":{"variants":[{"fields":[{"type":0}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":0},{"name":"E","type":14}],"path":["Result"]}},{"id":29,"type":{"def":{"variant":{"variants":[{"fields":[{"type":1}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":1},{"name":"E","type":14}],"path":["Result"]}},{"id":30,"type":{"def":{"variant":{"variants":[{"fields":[{"type":31}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":31},{"name":"E","type":14}],"path":["Result"]}},{"id":31,"type":{"def":{"primitive":"u16"}}},{"id":32,"type":{"def":{"variant":{"variants":[{"fields":[{"type":33}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":33},{"name":"E","type":14}],"path":["Result"]}},{"id":33,"type":{"def":{"variant":{"variants":[{"fields":[{"type":34}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":34},{"name":"E","type":13}],"path":["Result"]}},{"id":34,"type":{"def":{"composite":{"fields":[{"name":"status","type":27,"typeName":"GovernanceStatus"},{"name":"balance","type":0,"typeName":"Balance"},{"name":"fee","type":1,"typeName":"u32"},{"name":"payee","type":21,"typeName":"Payee"},{"name":"url","type":2,"typeName":"Vec<u8>"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"dataset_id_content","type":4,"typeName":"Hash"}]}},"path":["captcha","captcha","Provider"]}},{"id":35,"type":{"def":{"variant":{"variants":[{"fields":[{"type":36}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":36},{"name":"E","type":14}],"path":["Result"]}},{"id":36,"type":{"def":{"variant":{"variants":[{"fields":[{"type":37}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":37},{"name":"E","type":13}],"path":["Result"]}},{"id":37,"type":{"def":{"composite":{"fields":[{"name":"status","type":27,"typeName":"GovernanceStatus"},{"name":"balance","type":0,"typeName":"Balance"},{"name":"owner","type":7,"typeName":"AccountId"},{"name":"payee","type":24,"typeName":"DappPayee"}]}},"path":["captcha","captcha","Dapp"]}},{"id":38,"type":{"def":{"variant":{"variants":[{"fields":[{"type":39}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":39},{"name":"E","type":14}],"path":["Result"]}},{"id":39,"type":{"def":{"variant":{"variants":[{"fields":[{"type":40}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":40},{"name":"E","type":13}],"path":["Result"]}},{"id":40,"type":{"def":{"composite":{"fields":[{"name":"correct","type":31,"typeName":"u16"},{"name":"incorrect","type":31,"typeName":"u16"},{"name":"score","type":3,"typeName":"u8"}]}},"path":["captcha","captcha","UserHistorySummary"]}},{"id":41,"type":{"def":{"composite":{"fields":[{"name":"id","type":4,"typeName":"Hash"},{"name":"user_account","type":7,"typeName":"AccountId"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"status","type":42,"typeName":"CaptchaStatus"},{"name":"dapp_contract","type":7,"typeName":"AccountId"},{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"requested_at","type":1,"typeName":"BlockNumber"},{"name":"completed_at","type":1,"typeName":"BlockNumber"},{"name":"user_signature","type":43,"typeName":"[u8; 64]"}]}},"path":["captcha","captcha","Commit"]}},{"id":42,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Pending"},{"index":1,"name":"Approved"},{"index":2,"name":"Disapproved"}]}},"path":["captcha","captcha","CaptchaStatus"]}},{"id":43,"type":{"def":{"array":{"len":64,"type":3}}}},{"id":44,"type":{"def":{"sequence":{"type":41}}}},{"id":45,"type":{"def":{"variant":{"variants":[{"fields":[{"type":46}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":46},{"name":"E","type":14}],"path":["Result"]}},{"id":46,"type":{"def":{"variant":{"variants":[{"fields":[{"type":47}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":47},{"name":"E","type":13}],"path":["Result"]}},{"id":47,"type":{"def":{"primitive":"bool"}}},{"id":48,"type":{"def":{"variant":{"variants":[{"fields":[{"type":49}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":49},{"name":"E","type":14}],"path":["Result"]}},{"id":49,"type":{"def":{"variant":{"variants":[{"fields":[{"type":50}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":50},{"name":"E","type":13}],"path":["Result"]}},{"id":50,"type":{"def":{"composite":{"fields":[{"name":"before","type":1,"typeName":"BlockNumber"},{"name":"dapp_contract","type":7,"typeName":"AccountId"}]}},"path":["captcha","captcha","LastCorrectCaptcha"]}},{"id":51,"type":{"def":{"variant":{"variants":[{"fields":[{"type":52}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":52},{"name":"E","type":14}],"path":["Result"]}},{"id":52,"type":{"def":{"variant":{"variants":[{"fields":[{"type":53}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":53},{"name":"E","type":13}],"path":["Result"]}},{"id":53,"type":{"def":{"composite":{"fields":[{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"dataset_id_content","type":4,"typeName":"Hash"}]}},"path":["captcha","captcha","CaptchaData"]}},{"id":54,"type":{"def":{"variant":{"variants":[{"fields":[{"type":55}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":55},{"name":"E","type":14}],"path":["Result"]}},{"id":55,"type":{"def":{"variant":{"variants":[{"fields":[{"type":56}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":56},{"name":"E","type":13}],"path":["Result"]}},{"id":56,"type":{"def":{"composite":{"fields":[{"name":"history","type":9,"typeName":"Vec<Hash>"}]}},"path":["captcha","captcha","User"]}},{"id":57,"type":{"def":{"variant":{"variants":[{"fields":[{"type":58}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":58},{"name":"E","type":14}],"path":["Result"]}},{"id":58,"type":{"def":{"variant":{"variants":[{"fields":[{"type":41}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":41},{"name":"E","type":13}],"path":["Result"]}},{"id":59,"type":{"def":{"variant":{"variants":[{"fields":[{"type":60}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":60},{"name":"E","type":14}],"path":["Result"]}},{"id":60,"type":{"def":{"variant":{"variants":[{"fields":[{"type":61}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":61},{"name":"E","type":13}],"path":["Result"]}},{"id":61,"type":{"def":{"sequence":{"type":34}}}},{"id":62,"type":{"def":{"variant":{"variants":[{"fields":[{"type":63}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":63},{"name":"E","type":14}],"path":["Result"]}},{"id":63,"type":{"def":{"variant":{"variants":[{"fields":[{"type":64}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":64},{"name":"E","type":13}],"path":["Result"]}},{"id":64,"type":{"def":{"composite":{"fields":[{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"provider","type":34,"typeName":"Provider"},{"name":"block_number","type":1,"typeName":"BlockNumber"}]}},"path":["captcha","captcha","RandomProvider"]}},{"id":65,"type":{"def":{"variant":{"variants":[{"fields":[{"type":66}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":66},{"name":"E","type":14}],"path":["Result"]}},{"id":66,"type":{"def":{"variant":{"variants":[{"fields":[{"type":8}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":8},{"name":"E","type":13}],"path":["Result"]}},{"id":67,"type":{"def":{"primitive":"u64"}}},{"id":68,"type":{"def":{"variant":{}},"path":["ink_env","types","NoChainExtension"]}}],"version":"4"}`;
152593
+ const ContractAbi = `{"source":{"hash":"0x95f32f3aba8c5decee09fb1733ddf0b1f734d49ca0752efa49081454d3712a4e","language":"ink! 4.3.0","compiler":"rustc 1.69.0","build_info":{"build_mode":"Debug","cargo_contract_version":"3.0.1","rust_toolchain":"stable-x86_64-unknown-linux-gnu","wasm_opt_settings":{"keep_debug_symbols":false,"optimization_passes":"Z"}}},"contract":{"name":"captcha","version":"0.2.6","authors":["Chris Taylor <chris@prosopo.io>","George Oastler <george@prosopo.io>","Vincenzo Ferrara","Siniša Čanak"]},"spec":{"constructors":[{"args":[],"default":false,"docs":["Constructor"],"label":"new","payable":true,"returnType":{"displayName":["ink_primitives","ConstructorResult"],"type":10},"selector":"0x9bae9d5e"},{"args":[],"default":false,"docs":[],"label":"new_panic","payable":false,"returnType":{"displayName":["ink_primitives","ConstructorResult"],"type":15},"selector":"0x794560e8"}],"docs":[],"environment":{"accountId":{"displayName":["AccountId"],"type":7},"balance":{"displayName":["Balance"],"type":0},"blockNumber":{"displayName":["BlockNumber"],"type":1},"chainExtension":{"displayName":["ChainExtension"],"type":68},"hash":{"displayName":["Hash"],"type":4},"maxEventTopics":4,"timestamp":{"displayName":["Timestamp"],"type":67}},"events":[],"lang_error":{"displayName":["ink","LangError"],"type":14},"messages":[{"args":[],"default":false,"docs":[" Get the git commit id from when this contract was built"],"label":"get_git_commit_id","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":16},"selector":"0x3685e994"},{"args":[],"default":false,"docs":[" the admin which can control this contract. set to author/instantiator by default"],"label":"get_admin","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":18},"selector":"0x57b8a8a7"},{"args":[],"default":false,"docs":[" Get all payee options"],"label":"get_payees","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":19},"selector":"0xf334a6d7"},{"args":[],"default":false,"docs":[" Get all dapp payee options"],"label":"get_dapp_payees","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":22},"selector":"0xcce851af"},{"args":[],"default":false,"docs":[" Get all status options"],"label":"get_statuses","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":25},"selector":"0xd39608f0"},{"args":[],"default":false,"docs":[" Get contract provider minimum stake default."],"label":"get_provider_stake_threshold","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0x3e7e8941"},{"args":[],"default":false,"docs":[" Get contract dapp minimum stake default."],"label":"get_dapp_stake_threshold","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0xc9834fee"},{"args":[],"default":false,"docs":[" the maximum fee a provider can charge for a commit"],"label":"get_max_provider_fee","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0xd799cf93"},{"args":[],"default":false,"docs":[" the minimum number of providers needed for the contract to function"],"label":"get_min_num_active_providers","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0xa200bea1"},{"args":[],"default":false,"docs":[" the time to complete a block, 6 seconds by default"],"label":"get_block_time","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0x8d3f151d"},{"args":[],"default":false,"docs":[" the max age of a commit for a user before it is removed from the history, in seconds"],"label":"get_max_user_history_age_seconds","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0xcab4fa0a"},{"args":[],"default":false,"docs":[" the max number of commits stored for a single user"],"label":"get_max_user_history_len","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":30},"selector":"0xfb715e71"},{"args":[],"default":false,"docs":[" the max age of a commit for a user before it is removed from the history, in blocks"],"label":"get_max_user_history_age_blocks","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":29},"selector":"0x6f3337c3"},{"args":[{"label":"url","type":{"displayName":["Vec"],"type":2}},{"label":"fee","type":{"displayName":["u32"],"type":1}},{"label":"payee","type":{"displayName":["Payee"],"type":21}}],"default":false,"docs":[" Register a provider, their url and fee"],"label":"provider_register","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xc66f9a2a"},{"args":[{"label":"url","type":{"displayName":["Vec"],"type":2}},{"label":"fee","type":{"displayName":["u32"],"type":1}},{"label":"payee","type":{"displayName":["Payee"],"type":21}}],"default":false,"docs":[" Update an existing provider, their url, fee and deposit funds"],"label":"provider_update","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xd2f70de8"},{"args":[],"default":false,"docs":[" De-activate a provider by setting their status to Deactivated"],"label":"provider_deactivate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xa65232da"},{"args":[],"default":false,"docs":[" Unstake and deactivate the provider's service, returning stake"],"label":"provider_deregister","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x5eff53cf"},{"args":[{"label":"account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get an existing provider"],"label":"get_provider","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":32},"selector":"0x457c7444"},{"args":[],"default":false,"docs":[" Fund a provider"],"label":"provider_fund","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x54ee83bb"},{"args":[{"label":"dataset_id","type":{"displayName":["Hash"],"type":4}},{"label":"dataset_id_content","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Add a new data set"],"label":"provider_set_dataset","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xb0e7ab99"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get an existing dapp"],"label":"get_dapp","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":35},"selector":"0xf96477c0"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}},{"label":"payee","type":{"displayName":["DappPayee"],"type":24}}],"default":false,"docs":[" Register a dapp"],"label":"dapp_register","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x42b45efa"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}},{"label":"payee","type":{"displayName":["DappPayee"],"type":24}},{"label":"owner","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Update a dapp with new funds, setting status as appropriate"],"label":"dapp_update","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x5dbfa904"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Fund dapp account to pay for services, if the Dapp caller is registered in self.dapps"],"label":"dapp_fund","mutates":true,"payable":true,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x55da62a9"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Cancel services as a dapp, returning remaining tokens"],"label":"dapp_deregister","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xdc7da4d5"},{"args":[{"label":"contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Deactivate a dapp, leaving stake intact"],"label":"dapp_deactivate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x94718d6f"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[],"label":"get_user_history_summary","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":38},"selector":"0x3be12ad6"},{"args":[{"label":"commit","type":{"displayName":["Commit"],"type":41}}],"default":false,"docs":[" Provider submits a captcha solution commitment"],"label":"provider_commit","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x57876316"},{"args":[{"label":"commits","type":{"displayName":["Vec"],"type":44}}],"default":false,"docs":[" Provider submits 0-many captcha solution commitments"],"label":"provider_commit_many","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0xc8d4b3b2"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"threshold","type":{"displayName":["u8"],"type":3}}],"default":false,"docs":[" Checks if the user is a human (true) as they have a solution rate higher than a % threshold or a bot (false)"," Threshold is decided by the calling user"," Threshold is between 0-200, i.e. 0-100% in 0.5% increments. E.g. 100 = 50%, 200 = 100%, 0 = 0%, 50 = 25%, etc."],"label":"dapp_operator_is_human_user","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":45},"selector":"0xbe7b6ef9"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get the last correct captcha for a user"],"label":"dapp_operator_last_correct_captcha","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":48},"selector":"0xbe930f18"},{"args":[{"label":"dataset_id","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Get a single captcha dataset",""," Returns an error if the dapp does not exist"],"label":"get_captcha_data","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":51},"selector":"0x7a54158d"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a dapp user",""," Returns an error if the user does not exist"],"label":"get_user","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":54},"selector":"0xa4ca534e"},{"args":[{"label":"commit_id","type":{"displayName":["Hash"],"type":4}}],"default":false,"docs":[" Get a solution commitment",""," Returns an error if the commitment does not exist"],"label":"get_commit","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":57},"selector":"0x5329f551"},{"args":[{"label":"provider_accounts","type":{"displayName":["Vec"],"type":8}}],"default":false,"docs":[" List providers given an array of account id",""," Returns empty if none were matched"],"label":"list_providers_by_accounts","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":59},"selector":"0x52f0d2cb"},{"args":[{"label":"statuses","type":{"displayName":["Vec"],"type":26}}],"default":false,"docs":[" List providers given an array of status",""," Returns empty if none were matched"],"label":"list_providers_by_status","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":59},"selector":"0x54b28ab4"},{"args":[{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"dapp_contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a random active provider",""," Returns error if no active provider is found"],"label":"get_random_active_provider","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":62},"selector":"0x4aee5bad"},{"args":[],"default":false,"docs":[" Get the AccountIds of all Providers ever registered",""," Returns {Vec<AccountId>}"],"label":"get_all_provider_accounts","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":65},"selector":"0x5052021f"},{"args":[{"label":"len","type":{"displayName":["u128"],"type":0}},{"label":"user_account","type":{"displayName":["AccountId"],"type":7}},{"label":"dapp_contract","type":{"displayName":["AccountId"],"type":7}}],"default":false,"docs":[" Get a random number from 0 to \`len\` - 1 inclusive. The user account is added to the seed for additional random entropy."],"label":"get_random_number","mutates":false,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":28},"selector":"0x2306aecd"},{"args":[],"default":false,"docs":[" Terminate this contract and return any/all funds in this contract to the destination"],"label":"terminate","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x476d839f"},{"args":[{"label":"amount","type":{"displayName":["Balance"],"type":0}}],"default":false,"docs":[" Withdraw some funds from the contract to the specified destination"],"label":"withdraw","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x410fcc9d"},{"args":[{"label":"code_hash","type":{"displayName":[],"type":5}}],"default":false,"docs":[" Set the code hash for this contract"],"label":"set_code_hash","mutates":true,"payable":false,"returnType":{"displayName":["ink","MessageResult"],"type":10},"selector":"0x9e5c5758"}]},"storage":{"root":{"layout":{"struct":{"fields":[{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"enum":{"dispatchKey":"0x31f906a7","name":"GovernanceStatus","variants":{"0":{"fields":[],"name":"Active"},"1":{"fields":[],"name":"Inactive"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x31f906a7","ty":0}},"name":"balance"},{"layout":{"leaf":{"key":"0x31f906a7","ty":1}},"name":"fee"},{"layout":{"enum":{"dispatchKey":"0x31f906a7","name":"Payee","variants":{"0":{"fields":[],"name":"Provider"},"1":{"fields":[],"name":"Dapp"}}}},"name":"payee"},{"layout":{"leaf":{"key":"0x31f906a7","ty":2}},"name":"url"},{"layout":{"leaf":{"key":"0x31f906a7","ty":4}},"name":"dataset_id"},{"layout":{"leaf":{"key":"0x31f906a7","ty":4}},"name":"dataset_id_content"}],"name":"Provider"}},"root_key":"0x31f906a7"}},"name":"providers"},{"layout":{"root":{"layout":{"leaf":{"key":"0x25c2603c","ty":6}},"root_key":"0x25c2603c"}},"name":"provider_accounts"},{"layout":{"root":{"layout":{"leaf":{"key":"0xd1b08cc7","ty":7}},"root_key":"0xd1b08cc7"}},"name":"urls"},{"layout":{"root":{"layout":{"leaf":{"key":"0xd1cefe50","ty":7}},"root_key":"0xd1cefe50"}},"name":"datasets"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"enum":{"dispatchKey":"0x14493d1d","name":"GovernanceStatus","variants":{"0":{"fields":[],"name":"Active"},"1":{"fields":[],"name":"Inactive"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x14493d1d","ty":0}},"name":"balance"},{"layout":{"leaf":{"key":"0x14493d1d","ty":7}},"name":"owner"},{"layout":{"enum":{"dispatchKey":"0x14493d1d","name":"DappPayee","variants":{"0":{"fields":[],"name":"Provider"},"1":{"fields":[],"name":"Dapp"},"2":{"fields":[],"name":"Any"}}}},"name":"payee"}],"name":"Dapp"}},"root_key":"0x14493d1d"}},"name":"dapps"},{"layout":{"root":{"layout":{"leaf":{"key":"0x455ca62f","ty":6}},"root_key":"0x455ca62f"}},"name":"dapp_contracts"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"leaf":{"key":"0x81a766df","ty":4}},"name":"id"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"user_account"},{"layout":{"leaf":{"key":"0x81a766df","ty":4}},"name":"dataset_id"},{"layout":{"enum":{"dispatchKey":"0x81a766df","name":"CaptchaStatus","variants":{"0":{"fields":[],"name":"Pending"},"1":{"fields":[],"name":"Approved"},"2":{"fields":[],"name":"Disapproved"}}}},"name":"status"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"dapp_contract"},{"layout":{"leaf":{"key":"0x81a766df","ty":7}},"name":"provider_account"},{"layout":{"leaf":{"key":"0x81a766df","ty":1}},"name":"requested_at"},{"layout":{"leaf":{"key":"0x81a766df","ty":1}},"name":"completed_at"},{"layout":{"array":{"layout":{"leaf":{"key":"0x81a766df","ty":3}},"len":64,"offset":"0x81a766df"}},"name":"user_signature"}],"name":"Commit"}},"root_key":"0x81a766df"}},"name":"commits"},{"layout":{"root":{"layout":{"struct":{"fields":[{"layout":{"leaf":{"key":"0x5a3119c3","ty":9}},"name":"history"}],"name":"User"}},"root_key":"0x5a3119c3"}},"name":"users"},{"layout":{"root":{"layout":{"leaf":{"key":"0x43f9649b","ty":6}},"root_key":"0x43f9649b"}},"name":"user_accounts"}],"name":"Captcha"}},"root_key":"0xabcdef01"}},"types":[{"id":0,"type":{"def":{"primitive":"u128"}}},{"id":1,"type":{"def":{"primitive":"u32"}}},{"id":2,"type":{"def":{"sequence":{"type":3}}}},{"id":3,"type":{"def":{"primitive":"u8"}}},{"id":4,"type":{"def":{"composite":{"fields":[{"type":5,"typeName":"[u8; 32]"}]}},"path":["ink_primitives","types","Hash"]}},{"id":5,"type":{"def":{"array":{"len":32,"type":3}}}},{"id":6,"type":{"def":{"composite":{"fields":[{"type":8}]}},"params":[{"name":"T","type":7}],"path":["BTreeSet"]}},{"id":7,"type":{"def":{"composite":{"fields":[{"type":5,"typeName":"[u8; 32]"}]}},"path":["ink_primitives","types","AccountId"]}},{"id":8,"type":{"def":{"sequence":{"type":7}}}},{"id":9,"type":{"def":{"sequence":{"type":4}}}},{"id":10,"type":{"def":{"variant":{"variants":[{"fields":[{"type":11}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":11},{"name":"E","type":14}],"path":["Result"]}},{"id":11,"type":{"def":{"variant":{"variants":[{"fields":[{"type":12}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":12},{"name":"E","type":13}],"path":["Result"]}},{"id":12,"type":{"def":{"tuple":[]}}},{"id":13,"type":{"def":{"variant":{"variants":[{"index":0,"name":"NotAuthorised"},{"index":1,"name":"TransferFailed"},{"index":2,"name":"SetCodeHashFailed"},{"index":3,"name":"InvalidDestination"},{"index":4,"name":"UnknownMessage"},{"index":5,"name":"ProviderAccountExists"},{"index":6,"name":"ProviderExists"},{"index":7,"name":"ProviderAccountDoesNotExist"},{"index":8,"name":"ProviderDoesNotExist"},{"index":9,"name":"ProviderInsufficientFunds"},{"index":10,"name":"ProviderInactive"},{"index":11,"name":"ProviderUrlUsed"},{"index":12,"name":"DappExists"},{"index":13,"name":"DappDoesNotExist"},{"index":14,"name":"DappInactive"},{"index":15,"name":"DappInsufficientFunds"},{"index":16,"name":"CaptchaDataDoesNotExist"},{"index":17,"name":"CommitDoesNotExist"},{"index":18,"name":"DappUserDoesNotExist"},{"index":19,"name":"NoActiveProviders"},{"index":20,"name":"DatasetIdSolutionsSame"},{"index":21,"name":"CodeNotFound"},{"index":22,"name":"Unknown"},{"index":23,"name":"InvalidContract"},{"index":24,"name":"InvalidPayee"},{"index":25,"name":"InvalidCaptchaStatus"},{"index":26,"name":"NoCorrectCaptcha"},{"index":27,"name":"NotEnoughActiveProviders"},{"index":28,"name":"ProviderFeeTooHigh"},{"index":29,"name":"CommitAlreadyExists"},{"index":30,"name":"NotAuthor"}]}},"path":["common","common","Error"]}},{"id":14,"type":{"def":{"variant":{"variants":[{"index":1,"name":"CouldNotReadInput"}]}},"path":["ink_primitives","LangError"]}},{"id":15,"type":{"def":{"variant":{"variants":[{"fields":[{"type":12}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":12},{"name":"E","type":14}],"path":["Result"]}},{"id":16,"type":{"def":{"variant":{"variants":[{"fields":[{"type":17}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":17},{"name":"E","type":14}],"path":["Result"]}},{"id":17,"type":{"def":{"array":{"len":20,"type":3}}}},{"id":18,"type":{"def":{"variant":{"variants":[{"fields":[{"type":7}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":7},{"name":"E","type":14}],"path":["Result"]}},{"id":19,"type":{"def":{"variant":{"variants":[{"fields":[{"type":20}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":20},{"name":"E","type":14}],"path":["Result"]}},{"id":20,"type":{"def":{"sequence":{"type":21}}}},{"id":21,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Provider"},{"index":1,"name":"Dapp"}]}},"path":["captcha","captcha","Payee"]}},{"id":22,"type":{"def":{"variant":{"variants":[{"fields":[{"type":23}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":23},{"name":"E","type":14}],"path":["Result"]}},{"id":23,"type":{"def":{"sequence":{"type":24}}}},{"id":24,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Provider"},{"index":1,"name":"Dapp"},{"index":2,"name":"Any"}]}},"path":["captcha","captcha","DappPayee"]}},{"id":25,"type":{"def":{"variant":{"variants":[{"fields":[{"type":26}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":26},{"name":"E","type":14}],"path":["Result"]}},{"id":26,"type":{"def":{"sequence":{"type":27}}}},{"id":27,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Active"},{"index":1,"name":"Inactive"}]}},"path":["captcha","captcha","GovernanceStatus"]}},{"id":28,"type":{"def":{"variant":{"variants":[{"fields":[{"type":0}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":0},{"name":"E","type":14}],"path":["Result"]}},{"id":29,"type":{"def":{"variant":{"variants":[{"fields":[{"type":1}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":1},{"name":"E","type":14}],"path":["Result"]}},{"id":30,"type":{"def":{"variant":{"variants":[{"fields":[{"type":31}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":31},{"name":"E","type":14}],"path":["Result"]}},{"id":31,"type":{"def":{"primitive":"u16"}}},{"id":32,"type":{"def":{"variant":{"variants":[{"fields":[{"type":33}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":33},{"name":"E","type":14}],"path":["Result"]}},{"id":33,"type":{"def":{"variant":{"variants":[{"fields":[{"type":34}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":34},{"name":"E","type":13}],"path":["Result"]}},{"id":34,"type":{"def":{"composite":{"fields":[{"name":"status","type":27,"typeName":"GovernanceStatus"},{"name":"balance","type":0,"typeName":"Balance"},{"name":"fee","type":1,"typeName":"u32"},{"name":"payee","type":21,"typeName":"Payee"},{"name":"url","type":2,"typeName":"Vec<u8>"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"dataset_id_content","type":4,"typeName":"Hash"}]}},"path":["captcha","captcha","Provider"]}},{"id":35,"type":{"def":{"variant":{"variants":[{"fields":[{"type":36}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":36},{"name":"E","type":14}],"path":["Result"]}},{"id":36,"type":{"def":{"variant":{"variants":[{"fields":[{"type":37}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":37},{"name":"E","type":13}],"path":["Result"]}},{"id":37,"type":{"def":{"composite":{"fields":[{"name":"status","type":27,"typeName":"GovernanceStatus"},{"name":"balance","type":0,"typeName":"Balance"},{"name":"owner","type":7,"typeName":"AccountId"},{"name":"payee","type":24,"typeName":"DappPayee"}]}},"path":["captcha","captcha","Dapp"]}},{"id":38,"type":{"def":{"variant":{"variants":[{"fields":[{"type":39}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":39},{"name":"E","type":14}],"path":["Result"]}},{"id":39,"type":{"def":{"variant":{"variants":[{"fields":[{"type":40}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":40},{"name":"E","type":13}],"path":["Result"]}},{"id":40,"type":{"def":{"composite":{"fields":[{"name":"correct","type":31,"typeName":"u16"},{"name":"incorrect","type":31,"typeName":"u16"},{"name":"score","type":3,"typeName":"u8"}]}},"path":["captcha","captcha","UserHistorySummary"]}},{"id":41,"type":{"def":{"composite":{"fields":[{"name":"id","type":4,"typeName":"Hash"},{"name":"user_account","type":7,"typeName":"AccountId"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"status","type":42,"typeName":"CaptchaStatus"},{"name":"dapp_contract","type":7,"typeName":"AccountId"},{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"requested_at","type":1,"typeName":"BlockNumber"},{"name":"completed_at","type":1,"typeName":"BlockNumber"},{"name":"user_signature","type":43,"typeName":"[u8; 64]"}]}},"path":["captcha","captcha","Commit"]}},{"id":42,"type":{"def":{"variant":{"variants":[{"index":0,"name":"Pending"},{"index":1,"name":"Approved"},{"index":2,"name":"Disapproved"}]}},"path":["captcha","captcha","CaptchaStatus"]}},{"id":43,"type":{"def":{"array":{"len":64,"type":3}}}},{"id":44,"type":{"def":{"sequence":{"type":41}}}},{"id":45,"type":{"def":{"variant":{"variants":[{"fields":[{"type":46}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":46},{"name":"E","type":14}],"path":["Result"]}},{"id":46,"type":{"def":{"variant":{"variants":[{"fields":[{"type":47}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":47},{"name":"E","type":13}],"path":["Result"]}},{"id":47,"type":{"def":{"primitive":"bool"}}},{"id":48,"type":{"def":{"variant":{"variants":[{"fields":[{"type":49}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":49},{"name":"E","type":14}],"path":["Result"]}},{"id":49,"type":{"def":{"variant":{"variants":[{"fields":[{"type":50}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":50},{"name":"E","type":13}],"path":["Result"]}},{"id":50,"type":{"def":{"composite":{"fields":[{"name":"before","type":1,"typeName":"BlockNumber"},{"name":"dapp_contract","type":7,"typeName":"AccountId"}]}},"path":["captcha","captcha","LastCorrectCaptcha"]}},{"id":51,"type":{"def":{"variant":{"variants":[{"fields":[{"type":52}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":52},{"name":"E","type":14}],"path":["Result"]}},{"id":52,"type":{"def":{"variant":{"variants":[{"fields":[{"type":53}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":53},{"name":"E","type":13}],"path":["Result"]}},{"id":53,"type":{"def":{"composite":{"fields":[{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"dataset_id","type":4,"typeName":"Hash"},{"name":"dataset_id_content","type":4,"typeName":"Hash"}]}},"path":["captcha","captcha","CaptchaData"]}},{"id":54,"type":{"def":{"variant":{"variants":[{"fields":[{"type":55}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":55},{"name":"E","type":14}],"path":["Result"]}},{"id":55,"type":{"def":{"variant":{"variants":[{"fields":[{"type":56}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":56},{"name":"E","type":13}],"path":["Result"]}},{"id":56,"type":{"def":{"composite":{"fields":[{"name":"history","type":9,"typeName":"Vec<Hash>"}]}},"path":["captcha","captcha","User"]}},{"id":57,"type":{"def":{"variant":{"variants":[{"fields":[{"type":58}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":58},{"name":"E","type":14}],"path":["Result"]}},{"id":58,"type":{"def":{"variant":{"variants":[{"fields":[{"type":41}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":41},{"name":"E","type":13}],"path":["Result"]}},{"id":59,"type":{"def":{"variant":{"variants":[{"fields":[{"type":60}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":60},{"name":"E","type":14}],"path":["Result"]}},{"id":60,"type":{"def":{"variant":{"variants":[{"fields":[{"type":61}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":61},{"name":"E","type":13}],"path":["Result"]}},{"id":61,"type":{"def":{"sequence":{"type":34}}}},{"id":62,"type":{"def":{"variant":{"variants":[{"fields":[{"type":63}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":63},{"name":"E","type":14}],"path":["Result"]}},{"id":63,"type":{"def":{"variant":{"variants":[{"fields":[{"type":64}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":64},{"name":"E","type":13}],"path":["Result"]}},{"id":64,"type":{"def":{"composite":{"fields":[{"name":"provider_account","type":7,"typeName":"AccountId"},{"name":"provider","type":34,"typeName":"Provider"},{"name":"block_number","type":1,"typeName":"BlockNumber"}]}},"path":["captcha","captcha","RandomProvider"]}},{"id":65,"type":{"def":{"variant":{"variants":[{"fields":[{"type":66}],"index":0,"name":"Ok"},{"fields":[{"type":14}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":66},{"name":"E","type":14}],"path":["Result"]}},{"id":66,"type":{"def":{"variant":{"variants":[{"fields":[{"type":8}],"index":0,"name":"Ok"},{"fields":[{"type":13}],"index":1,"name":"Err"}]}},"params":[{"name":"T","type":8},{"name":"E","type":13}],"path":["Result"]}},{"id":67,"type":{"def":{"primitive":"u64"}}},{"id":68,"type":{"def":{"variant":{}},"path":["ink_env","types","NoChainExtension"]}}],"version":"4"}`;
152579
152594
  function v0ToV1Names(all3) {
152580
152595
  return all3.map((e) => objectSpread({}, e, {
152581
152596
  name: Array.isArray(e.name) ? e.name : [e.name]
@@ -164035,11 +164050,8 @@ sr.xorwow = xorwow;
164035
164050
  sr.xorshift7 = xorshift7;
164036
164051
  sr.xor4096 = xor4096;
164037
164052
  sr.tychei = tychei;
164038
- const at = (arr2, i, options2 = {}) => {
164039
- options2.checkBounds = options2.checkBounds ?? true;
164040
- options2.required = options2.required ?? true;
164041
- options2.wrap = options2.wrap ?? true;
164042
- if (options2.wrap) {
164053
+ function at(arr2, i, options2) {
164054
+ if (!(options2 == null ? void 0 : options2.noWrap)) {
164043
164055
  if (arr2.length !== 0) {
164044
164056
  i %= arr2.length;
164045
164057
  }
@@ -164047,17 +164059,17 @@ const at = (arr2, i, options2 = {}) => {
164047
164059
  i += arr2.length;
164048
164060
  }
164049
164061
  }
164050
- if (options2.checkBounds) {
164062
+ if (!(options2 == null ? void 0 : options2.noBoundsCheck)) {
164051
164063
  if (i >= arr2.length || i < 0) {
164052
164064
  throw new Error(`Array index ${i} is out of bounds for array of length ${arr2.length}: ${JSON.stringify(arr2, null, 2)}`);
164053
164065
  }
164054
164066
  }
164055
164067
  const el = arr2[i];
164056
- if (options2.required && el === void 0) {
164068
+ if (!(options2 == null ? void 0 : options2.optional) && el === void 0) {
164057
164069
  throw new Error(`Array item at index ${i} is undefined for array of length ${arr2.length}: ${JSON.stringify(arr2, null, 2)}`);
164058
164070
  }
164059
164071
  return el;
164060
- };
164072
+ }
164061
164073
  function get$i(obj, key, required = true) {
164062
164074
  const value = obj[key];
164063
164075
  if (required && value === void 0) {
@@ -180072,11 +180084,9 @@ class ProsopoServer {
180072
180084
  if (providerUrlTrimmed !== providerUrl) {
180073
180085
  return false;
180074
180086
  }
180075
- console.log("providerUrlTrimmed", providerUrlTrimmed, "commitmentId", commitmentId);
180076
180087
  if (providerUrlTrimmed && commitmentId) {
180077
180088
  const providerApi = await this.getProviderApi(providerUrl);
180078
180089
  const result = await providerApi.verifyDappUser(user, commitmentId);
180079
- console.log(result);
180080
180090
  return result.solutionApproved;
180081
180091
  } else {
180082
180092
  return (await contractApi.query.dappOperatorIsHumanUser(user, this.config.solutionThreshold)).value.unwrap().unwrap();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/client-example-server",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Backend for client-example",
5
5
  "main": "dist/app.js",
6
6
  "type": "module",
@@ -32,17 +32,17 @@
32
32
  "@noble/hashes": "^1.3.1",
33
33
  "@polkadot/util": "12.3.2",
34
34
  "@polkadot/util-crypto": "12.3.2",
35
- "@prosopo/api": "0.2.4",
36
- "@prosopo/contract": "0.2.4",
37
- "@prosopo/procaptcha": "0.2.4",
38
- "@prosopo/server": "0.2.4",
39
- "@prosopo/types": "0.2.4",
35
+ "@prosopo/api": "0.2.6",
36
+ "@prosopo/contract": "0.2.6",
37
+ "@prosopo/procaptcha": "0.2.6",
38
+ "@prosopo/server": "0.2.6",
39
+ "@prosopo/types": "0.2.6",
40
40
  "@typegoose/auto-increment": "3.3.0",
41
41
  "axios": "^1.5.0",
42
42
  "cors": "^2.8.5",
43
43
  "jsonwebtoken": "^9.0.0",
44
44
  "mongoose": "^7.3.3",
45
- "zod": "^3.17.9"
45
+ "zod": "^3.22.3"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/jsonwebtoken": "^9.0.2",
@@ -52,6 +52,6 @@
52
52
  "tslib": "2.6.2",
53
53
  "typescript": "5.1.6",
54
54
  "vite": "^4.4.9",
55
- "@prosopo/config": "0.2.4"
55
+ "@prosopo/config": "0.2.6"
56
56
  }
57
57
  }