@alephium/web3 0.2.0-rc.6 → 0.2.0-rc.9

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 (83) hide show
  1. package/.eslintignore +2 -2
  2. package/README.md +2 -135
  3. package/contracts/greeter/greeter.ral +1 -1
  4. package/dist/alephium-web3.min.js +1 -1
  5. package/dist/alephium-web3.min.js.LICENSE.txt +0 -17
  6. package/dist/alephium-web3.min.js.map +1 -1
  7. package/dist/scripts/create-project.js +1 -1
  8. package/dist/src/api/api-alephium.d.ts +19 -6
  9. package/dist/src/api/api-explorer.d.ts +16 -16
  10. package/dist/src/api/index.js +5 -1
  11. package/dist/src/contract/contract.d.ts +27 -10
  12. package/dist/src/contract/contract.js +105 -64
  13. package/dist/src/contract/index.js +5 -1
  14. package/dist/src/global.d.ts +3 -0
  15. package/{src/utils/djb2.test.ts → dist/src/global.js} +20 -17
  16. package/dist/src/index.d.ts +2 -0
  17. package/dist/src/index.js +20 -1
  18. package/dist/src/signer/index.d.ts +0 -1
  19. package/dist/src/signer/index.js +5 -2
  20. package/dist/src/signer/signer.d.ts +1 -1
  21. package/dist/src/signer/signer.js +8 -3
  22. package/dist/src/transaction/index.d.ts +0 -1
  23. package/dist/src/transaction/index.js +5 -2
  24. package/dist/src/utils/index.d.ts +0 -1
  25. package/dist/src/utils/index.js +5 -2
  26. package/dist/src/utils/subscription.d.ts +0 -1
  27. package/dist/src/utils/subscription.js +2 -1
  28. package/dist/src/utils/utils.d.ts +3 -2
  29. package/dist/src/utils/utils.js +16 -15
  30. package/jest-config.json +11 -0
  31. package/package.json +6 -32
  32. package/scripts/create-project.ts +1 -1
  33. package/src/api/api-alephium.ts +14 -0
  34. package/src/contract/contract.ts +157 -69
  35. package/src/{test/index.ts → global.ts} +14 -10
  36. package/src/index.ts +3 -0
  37. package/src/signer/index.ts +0 -1
  38. package/src/signer/signer.ts +3 -2
  39. package/src/transaction/index.ts +0 -1
  40. package/src/utils/index.ts +0 -1
  41. package/src/utils/subscription.ts +2 -2
  42. package/src/utils/utils.ts +7 -7
  43. package/templates/base/package.json +2 -2
  44. package/templates/base/src/greeter.ts +8 -7
  45. package/templates/react/package.json +2 -2
  46. package/templates/react/src/App.tsx +2 -2
  47. package/.eslintrc.json +0 -21
  48. package/LICENSE +0 -165
  49. package/contracts/add/add.ral +0 -13
  50. package/contracts/main.ral +0 -4
  51. package/contracts/sub/sub.ral +0 -10
  52. package/contracts/test/metadata.ral +0 -18
  53. package/contracts/test/warnings.ral +0 -8
  54. package/dist/src/signer/node-wallet.d.ts +0 -13
  55. package/dist/src/signer/node-wallet.js +0 -60
  56. package/dist/src/test/index.d.ts +0 -7
  57. package/dist/src/test/index.js +0 -41
  58. package/dist/src/test/privatekey-wallet.d.ts +0 -12
  59. package/dist/src/test/privatekey-wallet.js +0 -68
  60. package/dist/src/transaction/sign-verify.d.ts +0 -2
  61. package/dist/src/transaction/sign-verify.js +0 -58
  62. package/dist/src/utils/password-crypto.d.ts +0 -2
  63. package/dist/src/utils/password-crypto.js +0 -69
  64. package/gitignore +0 -9
  65. package/src/contract/ralph.test.ts +0 -178
  66. package/src/fixtures/address.json +0 -36
  67. package/src/fixtures/balance.json +0 -9
  68. package/src/fixtures/self-clique.json +0 -19
  69. package/src/fixtures/transaction.json +0 -13
  70. package/src/fixtures/transactions.json +0 -179
  71. package/src/signer/fixtures/genesis.json +0 -26
  72. package/src/signer/fixtures/wallets.json +0 -26
  73. package/src/signer/node-wallet.ts +0 -74
  74. package/src/test/privatekey-wallet.ts +0 -58
  75. package/src/transaction/sign-verify.test.ts +0 -50
  76. package/src/transaction/sign-verify.ts +0 -39
  77. package/src/utils/address.test.ts +0 -47
  78. package/src/utils/password-crypto.test.ts +0 -27
  79. package/src/utils/password-crypto.ts +0 -77
  80. package/src/utils/utils.test.ts +0 -161
  81. package/test/contract.test.ts +0 -213
  82. package/test/events.test.ts +0 -143
  83. package/test/transaction.test.ts +0 -74
package/dist/src/index.js CHANGED
@@ -18,18 +18,37 @@ along with the library. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
22
26
  }) : (function(o, m, k, k2) {
23
27
  if (k2 === undefined) k2 = k;
24
28
  o[k2] = m[k];
25
29
  }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
26
35
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
28
37
  };
38
+ var __importStar = (this && this.__importStar) || function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
29
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.utils = void 0;
30
47
  __exportStar(require("./api"), exports);
31
48
  __exportStar(require("./contract"), exports);
32
49
  __exportStar(require("./signer"), exports);
33
50
  __exportStar(require("./utils"), exports);
34
51
  __exportStar(require("./transaction"), exports);
35
52
  __exportStar(require("./constants"), exports);
53
+ __exportStar(require("./global"), exports);
54
+ exports.utils = __importStar(require("./utils"));
@@ -1,2 +1 @@
1
1
  export * from './signer';
2
- export * from './node-wallet';
@@ -18,7 +18,11 @@ along with the library. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
22
26
  }) : (function(o, m, k, k2) {
23
27
  if (k2 === undefined) k2 = k;
24
28
  o[k2] = m[k];
@@ -28,4 +32,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
28
32
  };
29
33
  Object.defineProperty(exports, "__esModule", { value: true });
30
34
  __exportStar(require("./signer"), exports);
31
- __exportStar(require("./node-wallet"), exports);
@@ -111,7 +111,7 @@ export declare abstract class SignerWithNodeProvider implements SignerProvider {
111
111
  alwaysSubmitTx: boolean;
112
112
  abstract getAccounts(): Promise<Account[]>;
113
113
  getAccount(signerAddress: string): Promise<Account>;
114
- constructor(provider: NodeProvider, alwaysSubmitTx: boolean);
114
+ constructor(alwaysSubmitTx: boolean);
115
115
  private defaultSignerAddress;
116
116
  submitTransaction(unsignedTx: string, txHash: string, signerAddress?: string): Promise<SubmissionResult>;
117
117
  private shouldSubmitTx;
@@ -18,7 +18,11 @@ along with the library. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
22
26
  }) : (function(o, m, k, k2) {
23
27
  if (k2 === undefined) k2 = k;
24
28
  o[k2] = m[k];
@@ -44,6 +48,7 @@ const elliptic_1 = require("elliptic");
44
48
  const utils = __importStar(require("../utils"));
45
49
  const utils_1 = require("../utils");
46
50
  const blakejs_1 = __importDefault(require("blakejs"));
51
+ const global_1 = require("../global");
47
52
  const ec = new elliptic_1.ec('secp256k1');
48
53
  (0, utils_1.assertType)();
49
54
  (0, utils_1.assertType)();
@@ -58,8 +63,8 @@ const ec = new elliptic_1.ec('secp256k1');
58
63
  (0, utils_1.assertType)();
59
64
  (0, utils_1.assertType)();
60
65
  class SignerWithNodeProvider {
61
- constructor(provider, alwaysSubmitTx) {
62
- this.provider = provider;
66
+ constructor(alwaysSubmitTx) {
67
+ this.provider = (0, global_1.getCurrentNodeProvider)();
63
68
  this.alwaysSubmitTx = alwaysSubmitTx;
64
69
  }
65
70
  async getAccount(signerAddress) {
@@ -1,2 +1 @@
1
- export * from './sign-verify';
2
1
  export * from './status';
@@ -18,7 +18,11 @@ along with the library. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
22
26
  }) : (function(o, m, k, k2) {
23
27
  if (k2 === undefined) k2 = k;
24
28
  o[k2] = m[k];
@@ -27,5 +31,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
27
31
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
28
32
  };
29
33
  Object.defineProperty(exports, "__esModule", { value: true });
30
- __exportStar(require("./sign-verify"), exports);
31
34
  __exportStar(require("./status"), exports);
@@ -1,6 +1,5 @@
1
1
  export * from './address';
2
2
  export * from './bs58';
3
3
  export * from './djb2';
4
- export * from './password-crypto';
5
4
  export * from './utils';
6
5
  export * from './subscription';
@@ -18,7 +18,11 @@ along with the library. If not, see <http://www.gnu.org/licenses/>.
18
18
  */
19
19
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
20
  if (k2 === undefined) k2 = k;
21
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
22
26
  }) : (function(o, m, k, k2) {
23
27
  if (k2 === undefined) k2 = k;
24
28
  o[k2] = m[k];
@@ -30,6 +34,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
34
  __exportStar(require("./address"), exports);
31
35
  __exportStar(require("./bs58"), exports);
32
36
  __exportStar(require("./djb2"), exports);
33
- __exportStar(require("./password-crypto"), exports);
34
37
  __exportStar(require("./utils"), exports);
35
38
  __exportStar(require("./subscription"), exports);
@@ -3,7 +3,6 @@ import { NodeProvider } from '../api';
3
3
  declare type MessageCallback<Message> = (message: Message) => Promise<void>;
4
4
  declare type ErrorCallback<Message> = (error: any, subscription: Subscription<Message>) => Promise<void>;
5
5
  export interface SubscribeOptions<Message> {
6
- provider: NodeProvider;
7
6
  pollingInterval: number;
8
7
  messageCallback: MessageCallback<Message>;
9
8
  errorCallback: ErrorCallback<Message>;
@@ -22,9 +22,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.Subscription = void 0;
24
24
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
25
+ const global_1 = require("../global");
25
26
  class Subscription {
26
27
  constructor(options) {
27
- this.provider = options.provider;
28
+ this.provider = (0, global_1.getCurrentNodeProvider)();
28
29
  this.pollingInterval = options.pollingInterval;
29
30
  this.messageCallback = options.messageCallback;
30
31
  this.errorCallback = options.errorCallback;
@@ -7,9 +7,10 @@ export declare function convertHttpResponse<T>(response: node.HttpResponse<T, {
7
7
  detail: string;
8
8
  }>): T;
9
9
  export declare function signatureEncode(signature: EC.Signature): string;
10
- export declare const signatureDecode: (ec: EC, signature: string) => SignatureInput;
10
+ export declare function signatureDecode(ec: EC, signature: string): SignatureInput;
11
+ export declare function xorByte(intValue: number): number;
11
12
  export declare function isHexString(input: string): boolean;
12
- export declare const groupOfAddress: (address: string) => number;
13
+ export declare function groupOfAddress(address: string): number;
13
14
  export declare function contractIdFromAddress(address: string): Uint8Array;
14
15
  export declare function tokenIdFromAddress(address: string): Uint8Array;
15
16
  export declare function hexToBinUnsafe(hex: string): Uint8Array;
@@ -20,7 +20,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
20
20
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.assertType = exports.timeout = exports.hexToString = exports.stringToHex = exports.subContractId = exports.contractIdFromTx = exports.addressFromContractId = exports.addressFromPublicKey = exports.publicKeyFromPrivateKey = exports.binToHex = exports.hexToBinUnsafe = exports.tokenIdFromAddress = exports.contractIdFromAddress = exports.groupOfAddress = exports.isHexString = exports.signatureDecode = exports.signatureEncode = exports.convertHttpResponse = void 0;
23
+ exports.assertType = exports.timeout = exports.hexToString = exports.stringToHex = exports.subContractId = exports.contractIdFromTx = exports.addressFromContractId = exports.addressFromPublicKey = exports.publicKeyFromPrivateKey = exports.binToHex = exports.hexToBinUnsafe = exports.tokenIdFromAddress = exports.contractIdFromAddress = exports.groupOfAddress = exports.isHexString = exports.xorByte = exports.signatureDecode = exports.signatureEncode = exports.convertHttpResponse = void 0;
24
24
  const elliptic_1 = require("elliptic");
25
25
  const bn_js_1 = __importDefault(require("bn.js"));
26
26
  const blakejs_1 = __importDefault(require("blakejs"));
@@ -49,7 +49,7 @@ function signatureEncode(signature) {
49
49
  }
50
50
  exports.signatureEncode = signatureEncode;
51
51
  // the signature should be in hex string format for 64 bytes
52
- const signatureDecode = (ec, signature) => {
52
+ function signatureDecode(ec, signature) {
53
53
  if (signature.length !== 128) {
54
54
  throw new Error('Invalid signature length');
55
55
  }
@@ -62,15 +62,16 @@ const signatureDecode = (ec, signature) => {
62
62
  else {
63
63
  throw new Error('The signature is not normalized');
64
64
  }
65
- };
65
+ }
66
66
  exports.signatureDecode = signatureDecode;
67
- const xorByte = (intValue) => {
67
+ function xorByte(intValue) {
68
68
  const byte0 = (intValue >> 24) & 0xff;
69
69
  const byte1 = (intValue >> 16) & 0xff;
70
70
  const byte2 = (intValue >> 8) & 0xff;
71
71
  const byte3 = intValue & 0xff;
72
72
  return (byte0 ^ byte1 ^ byte2 ^ byte3) & 0xff;
73
- };
73
+ }
74
+ exports.xorByte = xorByte;
74
75
  function isHexString(input) {
75
76
  return input.length % 2 === 0 && /[0-9a-f]*$/.test(input);
76
77
  }
@@ -82,7 +83,7 @@ var AddressType;
82
83
  AddressType[AddressType["P2SH"] = 2] = "P2SH";
83
84
  AddressType[AddressType["P2C"] = 3] = "P2C";
84
85
  })(AddressType || (AddressType = {}));
85
- const groupOfAddress = (address) => {
86
+ function groupOfAddress(address) {
86
87
  const decoded = bs58_1.default.decode(address);
87
88
  if (decoded.length == 0)
88
89
  throw new Error('Address string is empty');
@@ -100,32 +101,32 @@ const groupOfAddress = (address) => {
100
101
  else {
101
102
  throw new Error(`Invalid asset address type: ${addressType}`);
102
103
  }
103
- };
104
+ }
104
105
  exports.groupOfAddress = groupOfAddress;
105
- const groupOfAddressBytes = (bytes) => {
106
+ function groupOfAddressBytes(bytes) {
106
107
  const hint = (0, djb2_1.default)(bytes) | 1;
107
108
  const hash = xorByte(hint);
108
109
  const group = hash % constants_1.TOTAL_NUMBER_OF_GROUPS;
109
110
  return group;
110
- };
111
+ }
111
112
  // Pay to public key hash address
112
- const groupOfP2pkhAddress = (address) => {
113
+ function groupOfP2pkhAddress(address) {
113
114
  if (address.length != 32) {
114
115
  throw new Error(`Invalid p2pkh address length: ${address.length}`);
115
116
  }
116
117
  return groupOfAddressBytes(address);
117
- };
118
+ }
118
119
  // Pay to multiple public key hash address
119
- const groupOfP2mpkhAddress = (address) => {
120
+ function groupOfP2mpkhAddress(address) {
120
121
  if ((address.length - 2) % 32 != 0) {
121
122
  throw new Error(`Invalid p2mpkh address length: ${address.length}`);
122
123
  }
123
124
  return groupOfAddressBytes(address.slice(1, 33));
124
- };
125
+ }
125
126
  // Pay to script hash address
126
- const groupOfP2shAddress = (address) => {
127
+ function groupOfP2shAddress(address) {
127
128
  return groupOfAddressBytes(address);
128
- };
129
+ }
129
130
  function contractIdFromAddress(address) {
130
131
  return idFromAddress(address);
131
132
  }
@@ -0,0 +1,11 @@
1
+ {
2
+ "testPathIgnorePatterns": [".*/node_modules/"],
3
+ "transform": {
4
+ "^.+\\.(t|j)sx?$": "ts-jest"
5
+ },
6
+ "testMatch": ["**/*.test.ts"],
7
+ "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json", "node"],
8
+ "collectCoverage": true,
9
+ "coverageDirectory": "./coverage/",
10
+ "collectCoverageFrom": ["src/**/*.ts"]
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alephium/web3",
3
- "version": "0.2.0-rc.6",
3
+ "version": "0.2.0-rc.9",
4
4
  "description": "A JS/TS library to interact with the Alephium platform",
5
5
  "license": "GPL",
6
6
  "main": "dist/src/index.js",
@@ -27,29 +27,16 @@
27
27
  },
28
28
  "author": "Alephium dev <dev@alephium.org>",
29
29
  "config": {
30
- "alephium_version": "1.5.0-rc5",
30
+ "alephium_version": "1.5.0-rc7",
31
31
  "explorer_backend_version": "1.7.1"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "rm -rf dist/* && npx tsc --build . && webpack",
35
- "bundle": "webpack",
35
+ "test": "jest -i --config ./jest-config.json",
36
36
  "update-schemas": "npm run update-schema:alephium && npm run update-schema:explorer",
37
37
  "update-schema:alephium": "npx swagger-typescript-api -t ./configs -o ./src/api -n api-alephium.ts -p https://raw.githubusercontent.com/alephium/alephium/v${npm_package_config_alephium_version}/api/src/main/resources/openapi.json",
38
38
  "update-schema:explorer": "npx swagger-typescript-api -t ./configs -o ./src/api -n api-explorer.ts -p https://raw.githubusercontent.com/alephium/explorer-backend/v${npm_package_config_explorer_backend_version}/app/src/main/resources/explorer-backend-openapi.json",
39
39
  "check-versions": "node scripts/check-versions.js ${npm_package_config_alephium_version} ${npm_package_config_explorer_backend_version}",
40
- "dev": "tsnd --respawn lib/index.ts",
41
- "lint": "eslint . --ext ts",
42
- "lint:fix": "eslint . --fix --ext ts",
43
- "test": "jest -i --config ./configs/jest.config.ts",
44
- "test:client": "jest -i --config ./configs/jest-client.config.ts",
45
- "test:unit": "jest -i --config ./configs/jest-unit.config.ts",
46
- "test:watch": "npm run test -- --watch --coverage=false",
47
- "test:watch:unit": "npm run test:unit -- --watch --coverage=false",
48
- "test:watch:client": "npm run test:client -- --watch --coverage=false",
49
- "prepublishOnly": "npm run build",
50
- "prepack": "node scripts/rename-gitignore.js .gitignore gitignore",
51
- "postpack": "node scripts/rename-gitignore.js gitignore .gitignore",
52
- "prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
53
40
  "start-devnet": "node scripts/start-devnet.js ${npm_package_config_alephium_version}",
54
41
  "restart-devnet": "npm run start-devnet",
55
42
  "stop-devnet": "node scripts/stop-devnet.js"
@@ -64,15 +51,12 @@
64
51
  "buffer": "^6.0.3",
65
52
  "commander": "^9.1.0",
66
53
  "cross-fetch": "^3.1.5",
67
- "crypto-js": "4.1.1",
68
- "elliptic": "6.5.4",
69
54
  "eventemitter3": "^4.0.7",
70
55
  "find-up": "^2.1.0",
71
56
  "fs-extra": "^10.0.1"
72
57
  },
73
58
  "devDependencies": {
74
- "@types/crypto-js": "^4.1.1",
75
- "@types/elliptic": "^6.4.13",
59
+ "@babel/eslint-parser": "^7.18.9",
76
60
  "@types/find-up": "^2.1.0",
77
61
  "@types/fs-extra": "^9.0.13",
78
62
  "@types/jest": "^27.5.1",
@@ -81,7 +65,6 @@
81
65
  "@types/rewire": "^2.5.28",
82
66
  "@typescript-eslint/eslint-plugin": "^4.30.0",
83
67
  "@typescript-eslint/parser": "^4.30.0",
84
- "babel-eslint": "^10.1.0",
85
68
  "clean-webpack-plugin": "4.0.0",
86
69
  "crypto-browserify": "^3.12.0",
87
70
  "eslint": "^7.32.0",
@@ -105,21 +88,12 @@
105
88
  "ts-jest": "^28.0.2",
106
89
  "ts-node": "^10.7.0",
107
90
  "tslib": "^2.3.1",
108
- "typescript": "^4.4.2",
91
+ "typescript": "4.7.4",
109
92
  "webpack": "^5.72.0",
110
93
  "webpack-cli": "^4.9.2"
111
94
  },
112
95
  "engines": {
113
- "node": ">=14.0.0",
96
+ "node": ">=16.0.0",
114
97
  "npm": ">=7.0.0"
115
- },
116
- "prettier": {
117
- "printWidth": 120,
118
- "tabWidth": 2,
119
- "useTabs": false,
120
- "semi": false,
121
- "singleQuote": true,
122
- "bracketSameLine": false,
123
- "trailingComma": "none"
124
98
  }
125
99
  }
@@ -73,7 +73,7 @@ function prepareShared(packageRoot: string, projectRoot: string) {
73
73
  console.log('...')
74
74
 
75
75
  fsExtra.copySync(path.join(packageRoot, 'templates/shared'), projectRoot)
76
- copy('', ['.editorconfig', '.eslintignore', '.gitattributes', 'LICENSE'])
76
+ copy('', ['.editorconfig', '.eslintignore', '.gitattributes'])
77
77
  copy('dev', ['user.conf'])
78
78
  copy('scripts', ['start-devnet.js', 'stop-devnet.js'])
79
79
  if (fsExtra.existsSync(path.join(packageRoot, 'gitignore'))) {
@@ -422,6 +422,7 @@ export interface ChangeActiveAddress {
422
422
  }
423
423
 
424
424
  export interface CompileContractResult {
425
+ name: string
425
426
  bytecode: string
426
427
 
427
428
  /** @format 32-byte-hash */
@@ -438,12 +439,22 @@ export interface CompileProjectResult {
438
439
  }
439
440
 
440
441
  export interface CompileScriptResult {
442
+ name: string
441
443
  bytecodeTemplate: string
442
444
  fields: FieldsSig
443
445
  functions: FunctionSig[]
444
446
  warnings: string[]
445
447
  }
446
448
 
449
+ export interface CompilerOptions {
450
+ ignoreUnusedConstantsWarnings?: boolean
451
+ ignoreUnusedVariablesWarnings?: boolean
452
+ ignoreUnusedFieldsWarnings?: boolean
453
+ ignoreUnusedPrivateFunctionsWarnings?: boolean
454
+ ignoreReadonlyCheckWarnings?: boolean
455
+ ignoreExternalCallCheckWarnings?: boolean
456
+ }
457
+
447
458
  export interface Confirmed {
448
459
  /** @format block-hash */
449
460
  blockHash: string
@@ -464,6 +475,7 @@ export interface Confirmed {
464
475
 
465
476
  export interface Contract {
466
477
  code: string
478
+ compilerOptions?: CompilerOptions
467
479
  }
468
480
 
469
481
  export interface ContractEvent {
@@ -714,6 +726,7 @@ export interface Penalty {
714
726
 
715
727
  export interface Project {
716
728
  code: string
729
+ compilerOptions?: CompilerOptions
717
730
  }
718
731
 
719
732
  export interface Reachable {
@@ -742,6 +755,7 @@ export interface RevealMnemonicResult {
742
755
 
743
756
  export interface Script {
744
757
  code: string
758
+ compilerOptions?: CompilerOptions
745
759
  }
746
760
 
747
761
  export interface SelfClique {