@prosopo/scripts 2.1.5 → 2.1.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.
Files changed (149) hide show
  1. package/dist/cli/index.d.ts +2 -0
  2. package/dist/cli/index.d.ts.map +1 -0
  3. package/dist/cli/index.js +96 -0
  4. package/dist/cli/index.js.map +1 -0
  5. package/dist/contract/deploy/dapp.d.ts +3 -0
  6. package/dist/contract/deploy/dapp.d.ts.map +1 -0
  7. package/dist/contract/deploy/dapp.js +26 -0
  8. package/dist/contract/deploy/dapp.js.map +1 -0
  9. package/dist/contract/deploy/index.d.ts +3 -0
  10. package/dist/contract/deploy/index.d.ts.map +1 -0
  11. package/dist/contract/deploy/index.js +3 -0
  12. package/dist/contract/deploy/index.js.map +1 -0
  13. package/dist/contract/deploy/protocol.d.ts +3 -0
  14. package/dist/contract/deploy/protocol.d.ts.map +1 -0
  15. package/dist/contract/deploy/protocol.js +53 -0
  16. package/dist/contract/deploy/protocol.js.map +1 -0
  17. package/dist/contract/fundDapps.d.ts +20 -0
  18. package/dist/contract/fundDapps.d.ts.map +1 -0
  19. package/dist/contract/fundDapps.js +50 -0
  20. package/dist/contract/fundDapps.js.map +1 -0
  21. package/dist/contract/import.d.ts +3 -0
  22. package/dist/contract/import.d.ts.map +1 -0
  23. package/dist/contract/import.js +164 -0
  24. package/dist/contract/import.js.map +1 -0
  25. package/dist/contract/index.d.ts +2 -0
  26. package/dist/contract/index.d.ts.map +1 -0
  27. package/dist/contract/index.js +2 -0
  28. package/dist/contract/index.js.map +1 -0
  29. package/dist/contract/sources/dapp/411053b7ec79cc77f5ec9f5eb18610b24daaaaf0/dapp.json +648 -0
  30. package/dist/contract/transferContract.d.ts +6 -0
  31. package/dist/contract/transferContract.d.ts.map +1 -0
  32. package/dist/contract/transferContract.js +142 -0
  33. package/dist/contract/transferContract.js.map +1 -0
  34. package/dist/index.d.ts +5 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/migrates/provider.db.2.0.1.to.2.0.2.d.ts +2 -0
  38. package/dist/migrates/provider.db.2.0.1.to.2.0.2.d.ts.map +1 -0
  39. package/dist/migrates/provider.db.2.0.1.to.2.0.2.js +114 -0
  40. package/dist/migrates/provider.db.2.0.1.to.2.0.2.js.map +1 -0
  41. package/dist/scripts/addCopyrightNotice.d.ts +2 -0
  42. package/dist/scripts/addCopyrightNotice.d.ts.map +1 -0
  43. package/dist/scripts/addCopyrightNotice.js +108 -0
  44. package/dist/scripts/addCopyrightNotice.js.map +1 -0
  45. package/dist/scripts/bytesToHex.d.ts +2 -0
  46. package/dist/scripts/bytesToHex.d.ts.map +1 -0
  47. package/dist/scripts/bytesToHex.js +7 -0
  48. package/dist/scripts/bytesToHex.js.map +1 -0
  49. package/dist/scripts/convertAccount.d.ts +2 -0
  50. package/dist/scripts/convertAccount.d.ts.map +1 -0
  51. package/dist/scripts/convertAccount.js +24 -0
  52. package/dist/scripts/convertAccount.js.map +1 -0
  53. package/dist/scripts/encodeDecode.d.ts +2 -0
  54. package/dist/scripts/encodeDecode.d.ts.map +1 -0
  55. package/dist/scripts/encodeDecode.js +108 -0
  56. package/dist/scripts/encodeDecode.js.map +1 -0
  57. package/dist/scripts/findUnused.d.ts +2 -0
  58. package/dist/scripts/findUnused.d.ts.map +1 -0
  59. package/dist/scripts/findUnused.js +79 -0
  60. package/dist/scripts/findUnused.js.map +1 -0
  61. package/dist/scripts/generateMnemonic.d.ts +2 -0
  62. package/dist/scripts/generateMnemonic.d.ts.map +1 -0
  63. package/dist/scripts/generateMnemonic.js +24 -0
  64. package/dist/scripts/generateMnemonic.js.map +1 -0
  65. package/dist/scripts/getBlock.d.ts +2 -0
  66. package/dist/scripts/getBlock.d.ts.map +1 -0
  67. package/dist/scripts/getBlock.js +17 -0
  68. package/dist/scripts/getBlock.js.map +1 -0
  69. package/dist/scripts/getContractInfoOf.d.ts +2 -0
  70. package/dist/scripts/getContractInfoOf.d.ts.map +1 -0
  71. package/dist/scripts/getContractInfoOf.js +40 -0
  72. package/dist/scripts/getContractInfoOf.js.map +1 -0
  73. package/dist/scripts/getExistentialDeposit.d.ts +2 -0
  74. package/dist/scripts/getExistentialDeposit.d.ts.map +1 -0
  75. package/dist/scripts/getExistentialDeposit.js +27 -0
  76. package/dist/scripts/getExistentialDeposit.js.map +1 -0
  77. package/dist/scripts/getRandomProvider.d.ts +2 -0
  78. package/dist/scripts/getRandomProvider.d.ts.map +1 -0
  79. package/dist/scripts/getRandomProvider.js +23 -0
  80. package/dist/scripts/getRandomProvider.js.map +1 -0
  81. package/dist/scripts/getStorage.d.ts +2 -0
  82. package/dist/scripts/getStorage.d.ts.map +1 -0
  83. package/dist/scripts/getStorage.js +25 -0
  84. package/dist/scripts/getStorage.js.map +1 -0
  85. package/dist/scripts/hash.d.ts +2 -0
  86. package/dist/scripts/hash.d.ts.map +1 -0
  87. package/dist/scripts/hash.js +41 -0
  88. package/dist/scripts/hash.js.map +1 -0
  89. package/dist/scripts/hexToBytes.d.ts +2 -0
  90. package/dist/scripts/hexToBytes.d.ts.map +1 -0
  91. package/dist/scripts/hexToBytes.js +6 -0
  92. package/dist/scripts/hexToBytes.js.map +1 -0
  93. package/dist/scripts/sendFunds.d.ts +2 -0
  94. package/dist/scripts/sendFunds.d.ts.map +1 -0
  95. package/dist/scripts/sendFunds.js +22 -0
  96. package/dist/scripts/sendFunds.js.map +1 -0
  97. package/dist/scripts/setVersion.d.ts +2 -0
  98. package/dist/scripts/setVersion.d.ts.map +1 -0
  99. package/dist/scripts/setVersion.js +133 -0
  100. package/dist/scripts/setVersion.js.map +1 -0
  101. package/dist/scripts/sign.d.ts +2 -0
  102. package/dist/scripts/sign.d.ts.map +1 -0
  103. package/dist/scripts/sign.js +41 -0
  104. package/dist/scripts/sign.js.map +1 -0
  105. package/dist/scripts/verifySignature.d.ts +2 -0
  106. package/dist/scripts/verifySignature.d.ts.map +1 -0
  107. package/dist/scripts/verifySignature.js +18 -0
  108. package/dist/scripts/verifySignature.js.map +1 -0
  109. package/dist/setup/dapp.d.ts +3 -0
  110. package/dist/setup/dapp.d.ts.map +1 -0
  111. package/dist/setup/dapp.js +8 -0
  112. package/dist/setup/dapp.js.map +1 -0
  113. package/dist/setup/funds.d.ts +8 -0
  114. package/dist/setup/funds.d.ts.map +1 -0
  115. package/dist/setup/funds.js +50 -0
  116. package/dist/setup/funds.js.map +1 -0
  117. package/dist/setup/index.d.ts +3 -0
  118. package/dist/setup/index.d.ts.map +1 -0
  119. package/dist/setup/index.js +3 -0
  120. package/dist/setup/index.js.map +1 -0
  121. package/dist/setup/provider.d.ts +4 -0
  122. package/dist/setup/provider.d.ts.map +1 -0
  123. package/dist/setup/provider.js +15 -0
  124. package/dist/setup/provider.js.map +1 -0
  125. package/dist/setup/setup.d.ts +3 -0
  126. package/dist/setup/setup.d.ts.map +1 -0
  127. package/dist/setup/setup.js +121 -0
  128. package/dist/setup/setup.js.map +1 -0
  129. package/dist/util/exec.d.ts +10 -0
  130. package/dist/util/exec.d.ts.map +1 -0
  131. package/dist/util/exec.js +45 -0
  132. package/dist/util/exec.js.map +1 -0
  133. package/dist/util/fluxLogDappDetails.d.ts +2 -0
  134. package/dist/util/fluxLogDappDetails.d.ts.map +1 -0
  135. package/dist/util/fluxLogDappDetails.js +16 -0
  136. package/dist/util/fluxLogDappDetails.js.map +1 -0
  137. package/dist/util/index.d.ts +5 -0
  138. package/dist/util/index.d.ts.map +1 -0
  139. package/dist/util/index.js +5 -0
  140. package/dist/util/index.js.map +1 -0
  141. package/dist/util/loadContractFiles.d.ts +4 -0
  142. package/dist/util/loadContractFiles.d.ts.map +1 -0
  143. package/dist/util/loadContractFiles.js +40 -0
  144. package/dist/util/loadContractFiles.js.map +1 -0
  145. package/dist/util/updateEnv.d.ts +5 -0
  146. package/dist/util/updateEnv.d.ts.map +1 -0
  147. package/dist/util/updateEnv.js +66 -0
  148. package/dist/util/updateEnv.js.map +1 -0
  149. package/package.json +13 -13
@@ -0,0 +1,41 @@
1
+ import { stringToU8a, u8aToHex } from "@polkadot/util";
2
+ import { getPairAsync } from "@prosopo/contract";
3
+ import yargs from "yargs";
4
+ import { hideBin } from "yargs/helpers";
5
+ const main = async () => {
6
+ console.log("argv", process.argv);
7
+ const argv = await yargs(hideBin(process.argv))
8
+ .option("mnemonic", {
9
+ alias: "seed",
10
+ type: "string",
11
+ })
12
+ .option("message", {
13
+ alias: "msg",
14
+ type: "string",
15
+ })
16
+ .option("type", {
17
+ type: "string",
18
+ choices: ["sr25519", "ed25519", "ecdsa", "ethereum"],
19
+ default: "sr25519",
20
+ })
21
+ .option("ss58Format", {
22
+ type: "number",
23
+ default: 42,
24
+ })
25
+ .parse();
26
+ const mnemonic = argv.mnemonic;
27
+ if (!mnemonic) {
28
+ throw new Error("mnemonic is required");
29
+ }
30
+ const message = argv.message;
31
+ if (!message) {
32
+ throw new Error("message is required");
33
+ }
34
+ const type = argv.type;
35
+ const ss58Format = argv.ss58Format;
36
+ const keypair = await getPairAsync(mnemonic, undefined, type, ss58Format);
37
+ const sig = keypair.sign(stringToU8a(message));
38
+ console.log(`hex sig: ${u8aToHex(sig)}`);
39
+ };
40
+ main();
41
+ //# sourceMappingURL=sign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../src/scripts/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAevD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7C,MAAM,CAAC,UAAU,EAAE;QACnB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,QAAQ;KACd,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QAClB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,QAAQ;KACd,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;QACpD,OAAO,EAAE,SAAS;KAClB,CAAC;SACD,MAAM,CAAC,YAAY,EAAE;QACrB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;KACX,CAAC;SACD,KAAK,EAAE,CAAC;IACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAmB,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAEnC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAE1E,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=verifySignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifySignature.d.ts","sourceRoot":"","sources":["../../src/scripts/verifySignature.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { defaultConfig } from '@prosopo/cli';
2
+ import { getPairAsync } from '@prosopo/contract';
3
+ import { u8aToHex } from '@polkadot/util';
4
+ import { verifySignature } from '@prosopo/provider';
5
+ async function run(dappSignature, blockNumber, dappSecret) {
6
+ const config = defaultConfig();
7
+ const network = config.networks[config.defaultNetwork];
8
+ const dappPair = await getPairAsync(network, dappSecret);
9
+ const dappSignatureNew = dappPair.sign(blockNumber.toString());
10
+ const signatureHexNew = u8aToHex(dappSignatureNew);
11
+ console.log(signatureHexNew);
12
+ verifySignature(signatureHexNew, blockNumber.toString(), dappPair);
13
+ verifySignature(dappSignature, blockNumber.toString(), dappPair);
14
+ }
15
+ run('0x28e16e897a3c49f09d60bf4ba78bf287189218246c3ce39c89d7fc692676784a6398f755fbef673b76fe7f8fd8408d73d63adf662fbc130e4c06f1293349be83', 6340497, '0xbb8157bb73ac2abd6397b15fd8783c1ccfe3c73d3fdfbf94149d1712edce54389b241bdd910806fc959b2a7287fcacc6600730bd072193e9512f301b1a66edaf')
16
+ .then(console.log)
17
+ .catch(console.error);
18
+ //# sourceMappingURL=verifySignature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifySignature.js","sourceRoot":"","sources":["../../src/scripts/verifySignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,KAAK,UAAU,GAAG,CAAC,aAAqB,EAAE,WAA4B,EAAE,UAAkB;IACtF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAExD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9D,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAI5B,eAAe,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IAClE,eAAe,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;AACpE,CAAC;AACD,GAAG,CACC,oIAAoI,EACpI,OAAO,EAEP,oIAAoI,CAEvI;KACI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;KACjB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderEnvironment } from "@prosopo/env";
2
+ export declare function registerSiteKey(env: ProviderEnvironment, siteKey: string): Promise<void>;
3
+ //# sourceMappingURL=dapp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dapp.d.ts","sourceRoot":"","sources":["../../src/setup/dapp.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGxD,wBAAsB,eAAe,CACpC,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -0,0 +1,8 @@
1
+ import { Tasks } from "@prosopo/provider";
2
+ export async function registerSiteKey(env, siteKey) {
3
+ const logger = env.logger;
4
+ const tasks = new Tasks(env);
5
+ logger.info(" - siteKeyRegister");
6
+ await tasks.clientTaskManager.registerSiteKey(siteKey, {});
7
+ }
8
+ //# sourceMappingURL=dapp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dapp.js","sourceRoot":"","sources":["../../src/setup/dapp.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,GAAwB,EACxB,OAAe;IAEf,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAiB,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="bn.js" />
2
+ import { AnyNumber } from '@polkadot/types-codec/types';
3
+ import { BN } from '@polkadot/util';
4
+ import { ProsopoEnvironment } from '@prosopo/types-env';
5
+ export declare function sendFunds(env: ProsopoEnvironment, address: string, who: string, amount: AnyNumber): Promise<void>;
6
+ export declare function getStakeAmount(env: ProsopoEnvironment, providerStakeDefault: BN, stakeMultiplier?: number): BN;
7
+ export declare function getSendAmount(env: ProsopoEnvironment, stakeAmount: BN): BN;
8
+ //# sourceMappingURL=funds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funds.d.ts","sourceRoot":"","sources":["../../src/setup/funds.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAkBvD,wBAAsB,SAAS,CAC3B,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAUD,wBAAgB,cAAc,CAAC,GAAG,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,EAAE,CAgB9G;AAQD,wBAAgB,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAS1E"}
@@ -0,0 +1,50 @@
1
+ import { BN } from '@polkadot/util';
2
+ import { ProsopoEnvError } from '@prosopo/common';
3
+ import { at } from '@prosopo/util';
4
+ import { getBalance, oneUnit } from '@prosopo/tx';
5
+ import { send } from '@prosopo/tx';
6
+ const devMnemonics = ['//Alice', '//Bob', '//Charlie', '//Dave', '//Eve', '//Ferdie'];
7
+ let current = -1;
8
+ const MAX_ACCOUNT_FUND = 10000;
9
+ function getNextMnemonic() {
10
+ current = (current + 1) % devMnemonics.length;
11
+ return at(devMnemonics, current);
12
+ }
13
+ export async function sendFunds(env, address, who, amount) {
14
+ const envApi = env.getApi();
15
+ await envApi.isReady;
16
+ const mnemonic = getNextMnemonic();
17
+ const pair = env.keyring.addFromMnemonic(mnemonic);
18
+ const nonce = await envApi.rpc.system.accountNextIndex(pair.address);
19
+ const previousFree = await getBalance(envApi, pair.address);
20
+ if (previousFree.lt(new BN(amount.toString()))) {
21
+ throw new ProsopoEnvError('DEVELOPER.BALANCE_TOO_LOW', {
22
+ context: {
23
+ mnemonic,
24
+ previousFree: previousFree.toString(),
25
+ amount: amount.toString(),
26
+ },
27
+ });
28
+ }
29
+ await send(envApi, address, amount, pair, nonce);
30
+ }
31
+ export function getStakeAmount(env, providerStakeDefault, stakeMultiplier) {
32
+ const unit = oneUnit(env.getApi());
33
+ const stake100 = BN.max(providerStakeDefault.muln(stakeMultiplier || 100), unit);
34
+ const maxStake = unit.muln(MAX_ACCOUNT_FUND);
35
+ if (stake100.lt(maxStake)) {
36
+ env.logger.debug('Setting stake amount to', stake100.div(unit).toNumber(), 'UNIT');
37
+ return stake100;
38
+ }
39
+ env.logger.debug('Setting stake amount to', maxStake.div(unit).toNumber(), 'UNIT');
40
+ return maxStake;
41
+ }
42
+ export function getSendAmount(env, stakeAmount) {
43
+ const unit = oneUnit(env.getApi());
44
+ env.logger.debug('Stake amount', stakeAmount.div(unit).toNumber(), 'UNIT');
45
+ let sendAmount = new BN(stakeAmount).muln(2);
46
+ sendAmount = BN.max(sendAmount, env.getApi().consts.balances.existentialDeposit.muln(100));
47
+ env.logger.debug('Setting send amount to', sendAmount.div(unit).toNumber(), 'UNIT');
48
+ return sendAmount;
49
+ }
50
+ //# sourceMappingURL=funds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funds.js","sourceRoot":"","sources":["../../src/setup/funds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./setup.js";
2
+ export * from "./provider.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./setup.js";
2
+ export * from "./provider.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IProviderAccount } from "@prosopo/types";
2
+ import type { ProviderEnvironment } from "@prosopo/types-env";
3
+ export declare function setupProvider(env: ProviderEnvironment, provider: IProviderAccount): Promise<void>;
4
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/setup/provider.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,wBAAsB,aAAa,CAClC,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -0,0 +1,15 @@
1
+ import { ProsopoEnvError } from "@prosopo/common";
2
+ import { datasetWithSolutionHashes } from "@prosopo/datasets";
3
+ import { Tasks } from "@prosopo/provider";
4
+ export async function setupProvider(env, provider) {
5
+ if (!provider.pair) {
6
+ throw new ProsopoEnvError("DEVELOPER.MISSING_PROVIDER_PAIR", {
7
+ context: { provider },
8
+ });
9
+ }
10
+ const logger = env.logger;
11
+ const tasks = new Tasks(env);
12
+ logger.info(" - providerSetDataset");
13
+ await tasks.datasetManager.providerSetDataset(datasetWithSolutionHashes);
14
+ }
15
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/setup/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAiB1C,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,GAAwB,EACxB,QAA0B;IAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,iCAAiC,EAAE;YAC5D,OAAO,EAAE,EAAE,QAAQ,EAAE;SACrB,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function updateEnvFile(vars: Record<string, string>): Promise<void>;
2
+ export declare function setup(force: boolean): Promise<void>;
3
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/setup/setup.ts"],"names":[],"mappings":"AA+FA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAW/D;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,OAAO,iBAiEzC"}
@@ -0,0 +1,121 @@
1
+ import path from "node:path";
2
+ import { BN } from "@polkadot/util";
3
+ import { defaultConfig, getSecret } from "@prosopo/cli";
4
+ import { LogLevel, ProsopoEnvError, getLogger } from "@prosopo/common";
5
+ import { generateMnemonic, getPairAsync } from "@prosopo/contract";
6
+ import { getEnvFile } from "@prosopo/dotenv";
7
+ import { ProviderEnvironment } from "@prosopo/env";
8
+ import { Payee, } from "@prosopo/types";
9
+ import { get } from "@prosopo/util";
10
+ import fse from "fs-extra";
11
+ import { updateDemoHTMLFiles, updateEnvFiles } from "../util/index.js";
12
+ import { registerSiteKey } from "./dapp.js";
13
+ import { setupProvider } from "./provider.js";
14
+ const logger = getLogger(LogLevel.enum.info, "setup");
15
+ const __dirname = path.resolve();
16
+ function getRootDir() {
17
+ const rootDir = process.env.PROSOPO_ROOT_DIR || path.resolve(__dirname, "../..");
18
+ logger.info("Root dir:", rootDir);
19
+ return rootDir;
20
+ }
21
+ function getDatasetFilePath() {
22
+ const datasetFile = process.env.PROSOPO_PROVIDER_DATASET_FILE ||
23
+ path.resolve("../data/captchas.json");
24
+ logger.info("Dataset file:", datasetFile);
25
+ return datasetFile;
26
+ }
27
+ function getDefaultProvider() {
28
+ const host = process.env.PROSOPO_PROVIDER_HOST || "localhost";
29
+ return {
30
+ url: process.env.PROSOPO_API_PORT
31
+ ? `http://${host}:${process.env.PROSOPO_API_PORT}`
32
+ : `http://${host}:9229`,
33
+ fee: 10,
34
+ payee: Payee.dapp,
35
+ stake: new BN(10 ** 13),
36
+ datasetFile: getDatasetFilePath(),
37
+ address: process.env.PROSOPO_PROVIDER_ADDRESS || "",
38
+ secret: getSecret(),
39
+ captchaDatasetId: "",
40
+ };
41
+ }
42
+ function getDefaultDapp() {
43
+ return {
44
+ secret: "//Eve",
45
+ fundAmount: new BN(10 ** 12),
46
+ };
47
+ }
48
+ async function copyEnvFile() {
49
+ try {
50
+ const rootDir = getRootDir();
51
+ const tplLocation = path.resolve(rootDir, "./dev/scripts");
52
+ const tplEnvFile = getEnvFile(tplLocation, "env");
53
+ const envFile = getEnvFile(tplLocation, ".env");
54
+ await fse.copy(tplEnvFile, envFile, { overwrite: false });
55
+ }
56
+ catch (err) {
57
+ logger.debug(err);
58
+ }
59
+ }
60
+ function updateEnvFileVar(source, name, value) {
61
+ const envVar = new RegExp(`.*(${name}=)(.*)`, "g");
62
+ if (envVar.test(source)) {
63
+ return source.replace(envVar, `$1${value}`);
64
+ }
65
+ return `${source}\n${name}=${value}`;
66
+ }
67
+ export async function updateEnvFile(vars) {
68
+ const rootDir = getRootDir();
69
+ const envFile = getEnvFile(rootDir, ".env");
70
+ let readEnvFile = await fse.readFile(envFile, "utf8");
71
+ for (const key in vars) {
72
+ readEnvFile = updateEnvFileVar(readEnvFile, key, get(vars, key));
73
+ }
74
+ logger.info(`Updating ${envFile}`);
75
+ await fse.writeFile(envFile, readEnvFile);
76
+ }
77
+ export async function setup(force) {
78
+ const defaultProvider = getDefaultProvider();
79
+ const defaultDapp = getDefaultDapp();
80
+ if (defaultProvider.secret) {
81
+ const hasProviderAccount = defaultProvider.address && defaultProvider.secret;
82
+ logger.debug("ENVIRONMENT", process.env.NODE_ENV);
83
+ const [mnemonic, address] = !hasProviderAccount
84
+ ? await generateMnemonic()
85
+ : [defaultProvider.secret, defaultProvider.address];
86
+ logger.debug(`Address: ${address}`);
87
+ logger.debug(`Mnemonic: ${mnemonic}`);
88
+ logger.debug("Writing .env file...");
89
+ await copyEnvFile();
90
+ if (!process.env.PROSOPO_SITE_KEY) {
91
+ throw new ProsopoEnvError("DEVELOPER.PROSOPO_SITE_KEY_MISSING");
92
+ }
93
+ const config = defaultConfig();
94
+ const providerSecret = config.account.secret;
95
+ const pair = await getPairAsync(providerSecret);
96
+ const env = new ProviderEnvironment(defaultConfig(), pair);
97
+ await env.isReady();
98
+ defaultProvider.secret = mnemonic;
99
+ env.logger.info(`Registering provider... ${defaultProvider.address}`);
100
+ defaultProvider.pair = await getPairAsync(providerSecret);
101
+ defaultDapp.pair = await getPairAsync(defaultDapp.secret);
102
+ await setupProvider(env, defaultProvider);
103
+ env.logger.info(`Registering dapp... ${defaultDapp.pair.address}`);
104
+ await registerSiteKey(env, defaultDapp.pair.address);
105
+ if (!hasProviderAccount) {
106
+ await updateEnvFile({
107
+ PROVIDER_MNEMONIC: `"${mnemonic}"`,
108
+ PROVIDER_ADDRESS: address,
109
+ });
110
+ }
111
+ env.logger.debug("Updating env files with PROSOPO_SITE_KEY");
112
+ await updateDemoHTMLFiles([/data-sitekey="(\w{48})"/, /siteKey:\s*'(\w{48})'/], defaultDapp.pair.address, env.logger);
113
+ await updateEnvFiles(["NEXT_PUBLIC_PROSOPO_SITE_KEY", "PROSOPO_SITE_KEY"], defaultDapp.pair.address, env.logger);
114
+ process.exit();
115
+ }
116
+ else {
117
+ console.error("no secret found in .env file");
118
+ throw new ProsopoEnvError("GENERAL.NO_MNEMONIC_OR_SEED");
119
+ }
120
+ }
121
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ExecOutput {
2
+ stdout: string;
3
+ stderr: string;
4
+ code: number | null;
5
+ }
6
+ export declare const exec: (command: string, options?: {
7
+ pipe?: boolean;
8
+ printCmd?: boolean;
9
+ }) => Promise<ExecOutput>;
10
+ //# sourceMappingURL=exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/util/exec.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,YACP,MAAM,YACL;IACT,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,KACC,OAAO,CAAC,UAAU,CAiDpB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { spawn } from "node:child_process";
2
+ import { stdin } from "node:process";
3
+ export const exec = (command, options) => {
4
+ let { pipe, printCmd } = options || {};
5
+ pipe = pipe === undefined || pipe;
6
+ printCmd = printCmd === undefined || printCmd;
7
+ if (printCmd) {
8
+ console.log(`[exec] ${command}`);
9
+ }
10
+ const prc = spawn(command, {
11
+ shell: true,
12
+ });
13
+ if (pipe || pipe === undefined) {
14
+ prc.stdout.pipe(process.stdout);
15
+ prc.stderr.pipe(process.stderr);
16
+ }
17
+ stdin.pipe(prc.stdin);
18
+ const stdoutData = [];
19
+ const stderrData = [];
20
+ prc.stdout.on("data", (data) => {
21
+ stdoutData.push(data.toString());
22
+ });
23
+ prc.stderr.on("data", (data) => {
24
+ stderrData.push(data.toString());
25
+ });
26
+ return new Promise((resolve, reject) => {
27
+ prc.on("close", (code) => {
28
+ if (pipe || pipe === undefined) {
29
+ console.log("");
30
+ }
31
+ const output = {
32
+ stdout: stdoutData.join(""),
33
+ stderr: stderrData.join(""),
34
+ code,
35
+ };
36
+ if (code === 0) {
37
+ resolve(output);
38
+ }
39
+ else {
40
+ reject(output);
41
+ }
42
+ });
43
+ });
44
+ };
45
+ //# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/util/exec.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAQrC,MAAM,CAAC,MAAM,IAAI,GAAG,CACnB,OAAe,EACf,OAGC,EACqB,EAAE;IACxB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC;IAClC,QAAQ,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE;QAC1B,KAAK,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAIhC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,MAAM,MAAM,GAAe;gBAC1B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI;aACJ,CAAC;YACF,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,MAAM,CAAC,CAAC;YAChB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function extractReferrersFromLogs(logsText: string): string;
2
+ //# sourceMappingURL=fluxLogDappDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluxLogDappDetails.d.ts","sourceRoot":"","sources":["../../src/util/fluxLogDappDetails.ts"],"names":[],"mappings":"AAeA,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,UAiBxD"}
@@ -0,0 +1,16 @@
1
+ export function extractReferrersFromLogs(logsText) {
2
+ const urls = [
3
+ ...logsText.split("\n").reduce((accumulator, line) => {
4
+ const matches = line.match(/"(https?:\/\/[^"]+)"/g);
5
+ if (matches) {
6
+ for (const match of matches) {
7
+ const url = match.substring(1, match.length - 1);
8
+ accumulator.add(url);
9
+ }
10
+ }
11
+ return accumulator;
12
+ }, new Set()),
13
+ ];
14
+ return urls.join(" ");
15
+ }
16
+ //# sourceMappingURL=fluxLogDappDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluxLogDappDetails.js","sourceRoot":"","sources":["../../src/util/fluxLogDappDetails.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACxD,MAAM,IAAI,GAAG;QACZ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE;YAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACb,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAE7B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YACD,OAAO,WAAW,CAAC;QACpB,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;KACb,CAAC;IAEF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./loadContractFiles.js";
2
+ export * from "./updateEnv.js";
3
+ export * from "./exec.js";
4
+ export * from "./fluxLogDappDetails.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAaA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./loadContractFiles.js";
2
+ export * from "./updateEnv.js";
3
+ export * from "./exec.js";
4
+ export * from "./fluxLogDappDetails.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAaA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Abi } from "@polkadot/api-contract";
2
+ export declare function AbiJSON(filePath: string): Promise<Abi>;
3
+ export declare function Wasm(filePath: string): Promise<Uint8Array>;
4
+ //# sourceMappingURL=loadContractFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadContractFiles.d.ts","sourceRoot":"","sources":["../../src/util/loadContractFiles.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAM7C,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAgB5D;AAED,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBhE"}
@@ -0,0 +1,40 @@
1
+ import path from "node:path";
2
+ import { Abi } from "@polkadot/api-contract";
3
+ import { hexToU8a, isWasm } from "@polkadot/util";
4
+ import { ProsopoError } from "@prosopo/common";
5
+ import fse from "fs-extra";
6
+ const __dirname = path.resolve();
7
+ export async function AbiJSON(filePath) {
8
+ const resolvedFilePath = path.resolve(__dirname, filePath);
9
+ await fse.ensureFile(resolvedFilePath);
10
+ const fileExists = await fse.pathExists(resolvedFilePath);
11
+ if (fileExists) {
12
+ const json = JSON.parse(await fse.readFile(resolvedFilePath, {
13
+ encoding: "utf8",
14
+ }));
15
+ return new Abi(json);
16
+ }
17
+ throw new ProsopoError("FS.FILE_NOT_FOUND", {
18
+ context: { error: `File ${filePath} does not exist` },
19
+ });
20
+ }
21
+ export async function Wasm(filePath) {
22
+ const resolvedFilePath = path.resolve(__dirname, filePath);
23
+ await fse.ensureFile(resolvedFilePath);
24
+ const fileExists = await fse.pathExists(resolvedFilePath);
25
+ if (fileExists) {
26
+ const wasm = `0x${fse.readFileSync(resolvedFilePath).toString("hex")}`;
27
+ const wasmBytes = hexToU8a(wasm);
28
+ if (isWasm(wasmBytes)) {
29
+ return wasmBytes;
30
+ }
31
+ console.error(`Error loading contract wasm: ${wasm.slice(0, 10)}...`);
32
+ process.exit(1);
33
+ }
34
+ else {
35
+ throw new ProsopoError("FS.FILE_NOT_FOUND", {
36
+ context: { error: `File ${filePath} does not exist` },
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=loadContractFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadContractFiles.js","sourceRoot":"","sources":["../../src/util/loadContractFiles.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAgB7B,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB;IAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE1D,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YACpC,QAAQ,EAAE,MAAM;SAChB,CAAC,CACF,CAAC;QACF,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,mBAAmB,EAAE;QAC3C,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,QAAQ,iBAAiB,EAAE;KACrD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,QAAgB;IAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,GAAkB,KAAK,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,YAAY,CAAC,mBAAmB,EAAE;YAC3C,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,QAAQ,iBAAiB,EAAE;SACrD,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Logger } from "@prosopo/common";
2
+ export declare function findEnvFiles(logger: Logger, cwd?: string): Promise<string[]>;
3
+ export declare function updateDemoHTMLFiles(varMatchers: RegExp[], varValue: string, logger: Logger): Promise<void>;
4
+ export declare function updateEnvFiles(varNames: string[], varValue: string, logger: Logger, cwd?: string): Promise<void>;
5
+ //# sourceMappingURL=updateEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateEnv.d.ts","sourceRoot":"","sources":["../../src/util/updateEnv.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAc9C,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,qBAQ9D;AAED,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,iBA8Bd;AAED,wBAAsB,cAAc,CACnC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,iBA2BZ"}
@@ -0,0 +1,66 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { getEnv } from "@prosopo/dotenv";
4
+ import { at } from "@prosopo/util";
5
+ import dotenv from "dotenv";
6
+ import fg from "fast-glob";
7
+ const ignore = [
8
+ "**/node_modules/**",
9
+ "node_modules/**",
10
+ "../../**/node_modules/**",
11
+ "../node_modules/**",
12
+ "../../node_modules/**",
13
+ ];
14
+ const __dirname = path.resolve();
15
+ export async function findEnvFiles(logger, cwd) {
16
+ const env = getEnv();
17
+ const fileName = `.env.${env}`;
18
+ logger.info("Searching for files");
19
+ return await fg(`${cwd || "../.."}/**/${fileName}`, {
20
+ ignore,
21
+ });
22
+ }
23
+ export async function updateDemoHTMLFiles(varMatchers, varValue, logger) {
24
+ const files = await fg("../../demos/**/*.html", {
25
+ ignore: ignore,
26
+ });
27
+ logger.info("HTML files found", files);
28
+ files.forEach((file) => {
29
+ const filePath = path.resolve(process.cwd(), file);
30
+ const contents = fs.readFileSync(filePath).toString();
31
+ let newContents = contents;
32
+ for (const varMatcher of varMatchers) {
33
+ const matches = contents.match(varMatcher);
34
+ if (matches) {
35
+ const matchedVar = at(matches, 1);
36
+ logger.info("matchedVar", matchedVar);
37
+ newContents = contents.replaceAll(matchedVar, varValue);
38
+ break;
39
+ }
40
+ }
41
+ if (newContents !== contents) {
42
+ fs.writeFileSync(path.resolve(__dirname, filePath), newContents);
43
+ }
44
+ });
45
+ }
46
+ export async function updateEnvFiles(varNames, varValue, logger, cwd) {
47
+ const files = await findEnvFiles(logger, cwd);
48
+ logger.info("Env files found", files);
49
+ files.forEach((file) => {
50
+ let write = false;
51
+ const filePath = path.resolve(cwd || process.cwd(), file);
52
+ const envConfig = dotenv.parse(fs.readFileSync(filePath));
53
+ for (const varName of varNames) {
54
+ if (varName in envConfig) {
55
+ envConfig[varName] = varValue;
56
+ write = true;
57
+ }
58
+ }
59
+ if (write) {
60
+ fs.writeFileSync(path.resolve(__dirname, filePath), Object.keys(envConfig)
61
+ .map((k) => `${k}=${envConfig[k]}`)
62
+ .join("\n"));
63
+ }
64
+ });
65
+ }
66
+ //# sourceMappingURL=updateEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateEnv.js","sourceRoot":"","sources":["../../src/util/updateEnv.ts"],"names":[],"mappings":"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"}