@alephium/web3 0.2.0-rc.1 → 0.2.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -2
- package/README.md +2 -135
- package/contracts/greeter/greeter.ral +2 -2
- package/contracts/greeter/greeter_interface.ral +1 -0
- package/contracts/greeter_main.ral +0 -2
- package/dist/alephium-web3.min.js +1 -1
- package/dist/alephium-web3.min.js.LICENSE.txt +0 -17
- package/dist/alephium-web3.min.js.map +1 -1
- package/dist/scripts/create-project.js +3 -2
- package/dist/src/api/api-alephium.d.ts +44 -11
- package/dist/src/api/api-alephium.js +16 -0
- package/dist/src/api/api-explorer.d.ts +16 -16
- package/dist/src/api/index.d.ts +2 -2
- package/dist/src/api/index.js +18 -3
- package/dist/src/contract/contract.d.ts +101 -52
- package/dist/src/contract/contract.js +353 -219
- package/dist/src/contract/index.js +5 -1
- package/dist/src/global.d.ts +4 -0
- package/dist/src/global.js +38 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +20 -1
- package/dist/src/signer/index.d.ts +0 -1
- package/dist/src/signer/index.js +5 -2
- package/dist/src/signer/signer.d.ts +1 -1
- package/dist/src/signer/signer.js +8 -3
- package/dist/src/transaction/index.d.ts +0 -1
- package/dist/src/transaction/index.js +5 -2
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/src/utils/index.js +5 -2
- package/dist/src/utils/subscription.d.ts +0 -1
- package/dist/src/utils/subscription.js +2 -1
- package/dist/src/utils/utils.d.ts +5 -4
- package/dist/src/utils/utils.js +17 -16
- package/jest-config.json +11 -0
- package/package.json +6 -34
- package/scripts/create-project.ts +3 -2
- package/src/api/api-alephium.ts +53 -5
- package/src/api/index.ts +13 -3
- package/src/contract/contract.ts +505 -318
- package/src/contract/events.ts +2 -2
- package/src/{transaction/sign-verify.ts → global.ts} +14 -15
- package/src/index.ts +3 -0
- package/src/signer/index.ts +0 -1
- package/src/signer/signer.ts +3 -2
- package/src/transaction/index.ts +0 -1
- package/src/transaction/status.ts +1 -1
- package/src/utils/index.ts +0 -1
- package/src/utils/subscription.ts +3 -3
- package/src/utils/utils.ts +10 -10
- package/templates/base/package.json +2 -2
- package/templates/base/src/greeter.ts +8 -7
- package/templates/react/package.json +2 -2
- package/templates/react/src/App.tsx +2 -2
- package/.eslintrc.json +0 -21
- package/LICENSE +0 -165
- package/contracts/add/add.ral +0 -16
- package/contracts/main.ral +0 -6
- package/contracts/sub/sub.ral +0 -9
- package/dist/src/signer/node-wallet.d.ts +0 -13
- package/dist/src/signer/node-wallet.js +0 -60
- package/dist/src/test/index.d.ts +0 -7
- package/dist/src/test/index.js +0 -41
- package/dist/src/test/privatekey-wallet.d.ts +0 -12
- package/dist/src/test/privatekey-wallet.js +0 -68
- package/dist/src/transaction/sign-verify.d.ts +0 -2
- package/dist/src/transaction/sign-verify.js +0 -58
- package/dist/src/utils/password-crypto.d.ts +0 -2
- package/dist/src/utils/password-crypto.js +0 -69
- package/gitignore +0 -10
- package/src/contract/ralph.test.ts +0 -178
- package/src/fixtures/address.json +0 -36
- package/src/fixtures/balance.json +0 -9
- package/src/fixtures/self-clique.json +0 -19
- package/src/fixtures/transaction.json +0 -13
- package/src/fixtures/transactions.json +0 -179
- package/src/signer/fixtures/genesis.json +0 -26
- package/src/signer/fixtures/wallets.json +0 -26
- package/src/signer/node-wallet.ts +0 -74
- package/src/test/index.ts +0 -32
- package/src/test/privatekey-wallet.ts +0 -58
- package/src/transaction/sign-verify.test.ts +0 -50
- package/src/utils/address.test.ts +0 -47
- package/src/utils/djb2.test.ts +0 -35
- package/src/utils/password-crypto.test.ts +0 -27
- package/src/utils/password-crypto.ts +0 -77
- package/src/utils/utils.test.ts +0 -161
- package/test/contract.test.ts +0 -178
- package/test/events.test.ts +0 -138
- package/test/transaction.test.ts +0 -72
|
@@ -73,7 +73,7 @@ function prepareShared(packageRoot, projectRoot) {
|
|
|
73
73
|
console.log(` to ${projectRoot}`);
|
|
74
74
|
console.log('...');
|
|
75
75
|
fs_extra_1.default.copySync(path_1.default.join(packageRoot, 'templates/shared'), projectRoot);
|
|
76
|
-
copy('', ['.editorconfig', '.eslintignore', '.gitattributes'
|
|
76
|
+
copy('', ['.editorconfig', '.eslintignore', '.gitattributes']);
|
|
77
77
|
copy('dev', ['user.conf']);
|
|
78
78
|
copy('scripts', ['start-devnet.js', 'stop-devnet.js']);
|
|
79
79
|
if (fs_extra_1.default.existsSync(path_1.default.join(packageRoot, 'gitignore'))) {
|
|
@@ -86,7 +86,8 @@ function prepareShared(packageRoot, projectRoot) {
|
|
|
86
86
|
}
|
|
87
87
|
function prepareBase(packageRoot, projectRoot) {
|
|
88
88
|
prepareShared(packageRoot, projectRoot);
|
|
89
|
-
copy('contracts', ['
|
|
89
|
+
copy('contracts', ['greeter_main.ral']);
|
|
90
|
+
copy('contracts/greeter', ['greeter.ral', 'greeter_interface.ral']);
|
|
90
91
|
fs_extra_1.default.copySync(path_1.default.join(packageRoot, 'templates/base'), projectRoot);
|
|
91
92
|
}
|
|
92
93
|
function prepareReact(packageRoot, projectRoot, projectName) {
|
|
@@ -305,17 +305,33 @@ export interface ChangeActiveAddress {
|
|
|
305
305
|
address: string;
|
|
306
306
|
}
|
|
307
307
|
export interface CompileContractResult {
|
|
308
|
+
name: string;
|
|
308
309
|
bytecode: string;
|
|
309
310
|
/** @format 32-byte-hash */
|
|
310
311
|
codeHash: string;
|
|
311
312
|
fields: FieldsSig;
|
|
312
313
|
functions: FunctionSig[];
|
|
313
314
|
events: EventSig[];
|
|
315
|
+
warnings: string[];
|
|
316
|
+
}
|
|
317
|
+
export interface CompileProjectResult {
|
|
318
|
+
contracts: CompileContractResult[];
|
|
319
|
+
scripts: CompileScriptResult[];
|
|
314
320
|
}
|
|
315
321
|
export interface CompileScriptResult {
|
|
322
|
+
name: string;
|
|
316
323
|
bytecodeTemplate: string;
|
|
317
324
|
fields: FieldsSig;
|
|
318
325
|
functions: FunctionSig[];
|
|
326
|
+
warnings: string[];
|
|
327
|
+
}
|
|
328
|
+
export interface CompilerOptions {
|
|
329
|
+
ignoreUnusedConstantsWarnings?: boolean;
|
|
330
|
+
ignoreUnusedVariablesWarnings?: boolean;
|
|
331
|
+
ignoreUnusedFieldsWarnings?: boolean;
|
|
332
|
+
ignoreUnusedPrivateFunctionsWarnings?: boolean;
|
|
333
|
+
ignoreReadonlyCheckWarnings?: boolean;
|
|
334
|
+
ignoreExternalCallCheckWarnings?: boolean;
|
|
319
335
|
}
|
|
320
336
|
export interface Confirmed {
|
|
321
337
|
/** @format block-hash */
|
|
@@ -332,6 +348,7 @@ export interface Confirmed {
|
|
|
332
348
|
}
|
|
333
349
|
export interface Contract {
|
|
334
350
|
code: string;
|
|
351
|
+
compilerOptions?: CompilerOptions;
|
|
335
352
|
}
|
|
336
353
|
export interface ContractEvent {
|
|
337
354
|
/** @format block-hash */
|
|
@@ -409,7 +426,6 @@ export interface Destination {
|
|
|
409
426
|
export declare type DiscoveryAction = Reachable | Unreachable;
|
|
410
427
|
export interface EventSig {
|
|
411
428
|
name: string;
|
|
412
|
-
signature: string;
|
|
413
429
|
fieldNames: string[];
|
|
414
430
|
fieldTypes: string[];
|
|
415
431
|
}
|
|
@@ -417,9 +433,9 @@ export interface FetchResponse {
|
|
|
417
433
|
blocks: BlockEntry[][];
|
|
418
434
|
}
|
|
419
435
|
export interface FieldsSig {
|
|
420
|
-
signature: string;
|
|
421
436
|
names: string[];
|
|
422
437
|
types: string[];
|
|
438
|
+
isMutable: boolean[];
|
|
423
439
|
}
|
|
424
440
|
export interface FixedAssetOutput {
|
|
425
441
|
/** @format int32 */
|
|
@@ -438,9 +454,12 @@ export interface FixedAssetOutput {
|
|
|
438
454
|
}
|
|
439
455
|
export interface FunctionSig {
|
|
440
456
|
name: string;
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
457
|
+
usePreapprovedAssets: boolean;
|
|
458
|
+
useAssetsInContract: boolean;
|
|
459
|
+
isPublic: boolean;
|
|
460
|
+
paramNames: string[];
|
|
461
|
+
paramTypes: string[];
|
|
462
|
+
paramIsMutable: boolean[];
|
|
444
463
|
returnTypes: string[];
|
|
445
464
|
}
|
|
446
465
|
export interface Group {
|
|
@@ -522,6 +541,10 @@ export interface Penalty {
|
|
|
522
541
|
value: number;
|
|
523
542
|
type: string;
|
|
524
543
|
}
|
|
544
|
+
export interface Project {
|
|
545
|
+
code: string;
|
|
546
|
+
compilerOptions?: CompilerOptions;
|
|
547
|
+
}
|
|
525
548
|
export interface Reachable {
|
|
526
549
|
peers: string[];
|
|
527
550
|
type: string;
|
|
@@ -542,6 +565,7 @@ export interface RevealMnemonicResult {
|
|
|
542
565
|
}
|
|
543
566
|
export interface Script {
|
|
544
567
|
code: string;
|
|
568
|
+
compilerOptions?: CompilerOptions;
|
|
545
569
|
}
|
|
546
570
|
export interface SelfClique {
|
|
547
571
|
/** @format clique-id */
|
|
@@ -1013,8 +1037,8 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
1013
1037
|
* @request POST:/wallets/{wallet_name}/derive-next-address
|
|
1014
1038
|
*/
|
|
1015
1039
|
postWalletsWalletNameDeriveNextAddress: (walletName: string, query?: {
|
|
1016
|
-
group?: number
|
|
1017
|
-
}
|
|
1040
|
+
group?: number;
|
|
1041
|
+
}, params?: RequestParams) => Promise<AddressInfo>;
|
|
1018
1042
|
/**
|
|
1019
1043
|
* @description Your wallet need to have been created with the miner flag set to true
|
|
1020
1044
|
*
|
|
@@ -1146,8 +1170,8 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
1146
1170
|
* @request GET:/infos/current-hashrate
|
|
1147
1171
|
*/
|
|
1148
1172
|
getInfosCurrentHashrate: (query?: {
|
|
1149
|
-
timespan?: number
|
|
1150
|
-
}
|
|
1173
|
+
timespan?: number;
|
|
1174
|
+
}, params?: RequestParams) => Promise<string>;
|
|
1151
1175
|
};
|
|
1152
1176
|
blockflow: {
|
|
1153
1177
|
/**
|
|
@@ -1334,6 +1358,15 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
1334
1358
|
* @request POST:/contracts/compile-contract
|
|
1335
1359
|
*/
|
|
1336
1360
|
postContractsCompileContract: (data: Contract, params?: RequestParams) => Promise<CompileContractResult>;
|
|
1361
|
+
/**
|
|
1362
|
+
* No description
|
|
1363
|
+
*
|
|
1364
|
+
* @tags Contracts
|
|
1365
|
+
* @name PostContractsCompileProject
|
|
1366
|
+
* @summary Compile a project
|
|
1367
|
+
* @request POST:/contracts/compile-project
|
|
1368
|
+
*/
|
|
1369
|
+
postContractsCompileProject: (data: Project, params?: RequestParams) => Promise<CompileProjectResult>;
|
|
1337
1370
|
/**
|
|
1338
1371
|
* No description
|
|
1339
1372
|
*
|
|
@@ -1485,8 +1518,8 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
1485
1518
|
* @request GET:/events/tx-id/{txId}
|
|
1486
1519
|
*/
|
|
1487
1520
|
getEventsTxIdTxid: (txId: string, query?: {
|
|
1488
|
-
group?: number
|
|
1489
|
-
}
|
|
1521
|
+
group?: number;
|
|
1522
|
+
}, params?: RequestParams) => Promise<ContractEventsByTxId>;
|
|
1490
1523
|
};
|
|
1491
1524
|
}
|
|
1492
1525
|
export {};
|
|
@@ -901,6 +901,22 @@ class Api extends HttpClient {
|
|
|
901
901
|
format: 'json',
|
|
902
902
|
...params
|
|
903
903
|
}).then(convertHttpResponse),
|
|
904
|
+
/**
|
|
905
|
+
* No description
|
|
906
|
+
*
|
|
907
|
+
* @tags Contracts
|
|
908
|
+
* @name PostContractsCompileProject
|
|
909
|
+
* @summary Compile a project
|
|
910
|
+
* @request POST:/contracts/compile-project
|
|
911
|
+
*/
|
|
912
|
+
postContractsCompileProject: (data, params = {}) => this.request({
|
|
913
|
+
path: `/contracts/compile-project`,
|
|
914
|
+
method: 'POST',
|
|
915
|
+
body: data,
|
|
916
|
+
type: ContentType.Json,
|
|
917
|
+
format: 'json',
|
|
918
|
+
...params
|
|
919
|
+
}).then(convertHttpResponse),
|
|
904
920
|
/**
|
|
905
921
|
* No description
|
|
906
922
|
*
|
|
@@ -269,10 +269,10 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
269
269
|
* @request GET:/blocks
|
|
270
270
|
*/
|
|
271
271
|
getBlocks: (query?: {
|
|
272
|
-
page?: number
|
|
273
|
-
limit?: number
|
|
274
|
-
reverse?: boolean
|
|
275
|
-
}
|
|
272
|
+
page?: number;
|
|
273
|
+
limit?: number;
|
|
274
|
+
reverse?: boolean;
|
|
275
|
+
}, params?: RequestParams) => Promise<ListBlocks>;
|
|
276
276
|
/**
|
|
277
277
|
* @description Get a block with hash
|
|
278
278
|
*
|
|
@@ -289,10 +289,10 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
289
289
|
* @request GET:/blocks/{block-hash}/transactions
|
|
290
290
|
*/
|
|
291
291
|
getBlocksBlockHashTransactions: (blockHash: string, query?: {
|
|
292
|
-
page?: number
|
|
293
|
-
limit?: number
|
|
294
|
-
reverse?: boolean
|
|
295
|
-
}
|
|
292
|
+
page?: number;
|
|
293
|
+
limit?: number;
|
|
294
|
+
reverse?: boolean;
|
|
295
|
+
}, params?: RequestParams) => Promise<Transaction[]>;
|
|
296
296
|
};
|
|
297
297
|
transactions: {
|
|
298
298
|
/**
|
|
@@ -321,10 +321,10 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
321
321
|
* @request GET:/addresses/{address}/transactions
|
|
322
322
|
*/
|
|
323
323
|
getAddressesAddressTransactions: (address: string, query?: {
|
|
324
|
-
page?: number
|
|
325
|
-
limit?: number
|
|
326
|
-
reverse?: boolean
|
|
327
|
-
}
|
|
324
|
+
page?: number;
|
|
325
|
+
limit?: number;
|
|
326
|
+
reverse?: boolean;
|
|
327
|
+
}, params?: RequestParams) => Promise<Transaction[]>;
|
|
328
328
|
/**
|
|
329
329
|
* @description Get total transactions of a given address
|
|
330
330
|
*
|
|
@@ -367,10 +367,10 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
|
|
|
367
367
|
* @request GET:/infos/supply
|
|
368
368
|
*/
|
|
369
369
|
getInfosSupply: (query?: {
|
|
370
|
-
page?: number
|
|
371
|
-
limit?: number
|
|
372
|
-
reverse?: boolean
|
|
373
|
-
}
|
|
370
|
+
page?: number;
|
|
371
|
+
limit?: number;
|
|
372
|
+
reverse?: boolean;
|
|
373
|
+
}, params?: RequestParams) => Promise<TokenSupply[]>;
|
|
374
374
|
/**
|
|
375
375
|
* @description Get the ALPH total supply
|
|
376
376
|
*
|
package/dist/src/api/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Api as NodeApi } from './api-alephium';
|
|
2
2
|
import { Api as ExplorerApi } from './api-explorer';
|
|
3
|
-
export declare class NodeProvider extends NodeApi<
|
|
4
|
-
constructor(baseUrl: string);
|
|
3
|
+
export declare class NodeProvider extends NodeApi<string> {
|
|
4
|
+
constructor(baseUrl: string, apiKey?: string);
|
|
5
5
|
}
|
|
6
6
|
export declare class ExplorerProvider extends ExplorerApi<null> {
|
|
7
7
|
constructor(baseUrl: string);
|
package/dist/src/api/index.js
CHANGED
|
@@ -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.
|
|
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];
|
|
@@ -40,8 +44,19 @@ exports.explorer = exports.node = exports.ExplorerProvider = exports.NodeProvide
|
|
|
40
44
|
const api_alephium_1 = require("./api-alephium");
|
|
41
45
|
const api_explorer_1 = require("./api-explorer");
|
|
42
46
|
class NodeProvider extends api_alephium_1.Api {
|
|
43
|
-
constructor(baseUrl) {
|
|
44
|
-
|
|
47
|
+
constructor(baseUrl, apiKey) {
|
|
48
|
+
// eslint-disable-next-line security/detect-possible-timing-attacks
|
|
49
|
+
if (apiKey === undefined) {
|
|
50
|
+
super({ baseUrl: baseUrl });
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
super({
|
|
54
|
+
baseUrl: baseUrl,
|
|
55
|
+
baseApiParams: { secure: true },
|
|
56
|
+
securityWorker: (accessToken) => (accessToken !== null ? { headers: { 'X-API-KEY': `${accessToken}` } } : {})
|
|
57
|
+
});
|
|
58
|
+
this.setSecurityData(apiKey);
|
|
59
|
+
}
|
|
45
60
|
}
|
|
46
61
|
}
|
|
47
62
|
exports.NodeProvider = NodeProvider;
|
|
@@ -1,79 +1,128 @@
|
|
|
1
|
-
import { NodeProvider } from '../api';
|
|
2
|
-
import { node } from '../api';
|
|
1
|
+
import { node, NodeProvider } from '../api';
|
|
3
2
|
import { SignDeployContractTxParams, SignExecuteScriptTxParams, SignerWithNodeProvider } from '../signer';
|
|
3
|
+
import { CompileContractResult, CompileScriptResult } from '../api/api-alephium';
|
|
4
|
+
declare type FieldsSig = node.FieldsSig;
|
|
5
|
+
declare type EventSig = node.EventSig;
|
|
6
|
+
declare type FunctionSig = node.FunctionSig;
|
|
7
|
+
declare enum SourceType {
|
|
8
|
+
Contract = 0,
|
|
9
|
+
Script = 1,
|
|
10
|
+
AbstractContract = 2,
|
|
11
|
+
Interface = 3
|
|
12
|
+
}
|
|
13
|
+
export declare type CompilerOptions = node.CompilerOptions & {
|
|
14
|
+
errorOnWarnings: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const DEFAULT_NODE_COMPILER_OPTIONS: node.CompilerOptions;
|
|
17
|
+
export declare const DEFAULT_COMPILER_OPTIONS: CompilerOptions;
|
|
18
|
+
declare class TypedMatcher<T extends SourceType> {
|
|
19
|
+
matcher: RegExp;
|
|
20
|
+
type: T;
|
|
21
|
+
constructor(pattern: string, type: T);
|
|
22
|
+
match(str: string): number;
|
|
23
|
+
}
|
|
4
24
|
declare class SourceFile {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}>
|
|
31
|
-
|
|
25
|
+
type: SourceType;
|
|
26
|
+
contractPath: string;
|
|
27
|
+
sourceCode: string;
|
|
28
|
+
sourceCodeHash: string;
|
|
29
|
+
getArtifactPath(artifactsRootPath: string): string;
|
|
30
|
+
constructor(type: SourceType, sourceCode: string, sourceCodeHash: string, contractPath: string);
|
|
31
|
+
static from(type: SourceType, sourceCode: string, contractPath: string): Promise<SourceFile>;
|
|
32
|
+
}
|
|
33
|
+
declare class Compiled<T extends Artifact> {
|
|
34
|
+
sourceFile: SourceFile;
|
|
35
|
+
artifact: T;
|
|
36
|
+
warnings: string[];
|
|
37
|
+
constructor(sourceFile: SourceFile, artifact: T, warnings: string[]);
|
|
38
|
+
}
|
|
39
|
+
declare class ProjectArtifact {
|
|
40
|
+
static readonly artifactFileName = ".project.json";
|
|
41
|
+
compilerOptionsUsed: node.CompilerOptions;
|
|
42
|
+
infos: Map<string, {
|
|
43
|
+
sourceCodeHash: string;
|
|
44
|
+
warnings: string[];
|
|
45
|
+
}>;
|
|
46
|
+
static checkCompilerOptionsParameter(compilerOptions: node.CompilerOptions): void;
|
|
47
|
+
constructor(compilerOptionsUsed: node.CompilerOptions, infos: Map<string, {
|
|
48
|
+
sourceCodeHash: string;
|
|
49
|
+
warnings: string[];
|
|
50
|
+
}>);
|
|
51
|
+
saveToFile(rootPath: string): Promise<void>;
|
|
52
|
+
needToReCompile(compilerOptions: node.CompilerOptions, files: SourceFile[]): boolean;
|
|
53
|
+
static from(rootPath: string): Promise<ProjectArtifact | undefined>;
|
|
54
|
+
}
|
|
55
|
+
export declare class Project {
|
|
56
|
+
sourceFiles: SourceFile[];
|
|
57
|
+
contracts: Compiled<Contract>[];
|
|
58
|
+
scripts: Compiled<Script>[];
|
|
59
|
+
projectArtifact: ProjectArtifact;
|
|
60
|
+
readonly contractsRootPath: string;
|
|
61
|
+
readonly artifactsRootPath: string;
|
|
62
|
+
readonly nodeProvider: NodeProvider;
|
|
63
|
+
static currentProject: Project;
|
|
64
|
+
static readonly abstractContractMatcher: TypedMatcher<SourceType>;
|
|
65
|
+
static readonly contractMatcher: TypedMatcher<SourceType.Contract>;
|
|
66
|
+
static readonly interfaceMatcher: TypedMatcher<SourceType.Interface>;
|
|
67
|
+
static readonly scriptMatcher: TypedMatcher<SourceType.Script>;
|
|
68
|
+
static readonly matchers: TypedMatcher<SourceType>[];
|
|
69
|
+
static buildProjectArtifact(sourceFiles: SourceFile[], contracts: Compiled<Contract>[], scripts: Compiled<Script>[], compilerOptions: node.CompilerOptions): ProjectArtifact;
|
|
70
|
+
private constructor();
|
|
71
|
+
private getContractPath;
|
|
72
|
+
static checkCompilerWarnings(warnings: string[], errorOnWarnings: boolean): void;
|
|
73
|
+
static contract(path: string): Contract;
|
|
74
|
+
static script(path: string): Script;
|
|
75
|
+
private saveArtifactsToFile;
|
|
76
|
+
contractByCodeHash(codeHash: string): Contract;
|
|
77
|
+
private static compile;
|
|
78
|
+
private static loadArtifacts;
|
|
79
|
+
private static loadSourceFile;
|
|
80
|
+
private static loadSourceFiles;
|
|
81
|
+
static build(compilerOptionsPartial?: Partial<CompilerOptions>, contractsRootPath?: string, artifactsRootPath?: string): Promise<void>;
|
|
82
|
+
}
|
|
83
|
+
export declare abstract class Artifact {
|
|
84
|
+
readonly functions: FunctionSig[];
|
|
85
|
+
constructor(functions: FunctionSig[]);
|
|
32
86
|
abstract buildByteCodeToDeploy(initialFields?: Fields): string;
|
|
87
|
+
publicFunctions(): string[];
|
|
88
|
+
usingPreapprovedAssetsFunctions(): string[];
|
|
89
|
+
usingAssetsInContractFunctions(): string[];
|
|
33
90
|
}
|
|
34
|
-
export declare class Contract extends
|
|
91
|
+
export declare class Contract extends Artifact {
|
|
35
92
|
readonly bytecode: string;
|
|
36
93
|
readonly codeHash: string;
|
|
37
|
-
readonly fieldsSig:
|
|
38
|
-
readonly eventsSig:
|
|
39
|
-
constructor(
|
|
40
|
-
static checkCodeType(fileName: string, contractStr: string): void;
|
|
41
|
-
private static loadContractStr;
|
|
42
|
-
static fromSource(provider: NodeProvider, path: string): Promise<Contract>;
|
|
43
|
-
private static compile;
|
|
94
|
+
readonly fieldsSig: FieldsSig;
|
|
95
|
+
readonly eventsSig: EventSig[];
|
|
96
|
+
constructor(bytecode: string, codeHash: string, fieldsSig: FieldsSig, eventsSig: EventSig[], functions: FunctionSig[]);
|
|
44
97
|
static fromJson(artifact: any): Contract;
|
|
98
|
+
static fromCompileResult(result: CompileContractResult): Contract;
|
|
45
99
|
static fromArtifactFile(path: string): Promise<Contract>;
|
|
46
|
-
fetchState(
|
|
100
|
+
fetchState(address: string, group: number): Promise<ContractState>;
|
|
47
101
|
toString(): string;
|
|
48
102
|
toState(fields: Fields, asset: Asset, address?: string): ContractState;
|
|
49
103
|
static randomAddress(): string;
|
|
50
104
|
private _test;
|
|
51
|
-
testPublicMethod(
|
|
52
|
-
testPrivateMethod(
|
|
105
|
+
testPublicMethod(funcName: string, params: TestContractParams): Promise<TestContractResult>;
|
|
106
|
+
testPrivateMethod(funcName: string, params: TestContractParams): Promise<TestContractResult>;
|
|
53
107
|
toApiFields(fields?: Fields): node.Val[];
|
|
54
108
|
toApiArgs(funcName: string, args?: Arguments): node.Val[];
|
|
55
109
|
getMethodIndex(funcName: string): number;
|
|
56
110
|
toApiContractStates(states?: ContractState[]): node.ContractState[] | undefined;
|
|
57
111
|
toTestContract(funcName: string, params: TestContractParams): node.TestContract;
|
|
58
|
-
static fromCodeHash(codeHash: string): Promise<Contract>;
|
|
59
|
-
static getFieldsSig(state: node.ContractState): Promise<node.FieldsSig>;
|
|
60
112
|
fromApiContractState(state: node.ContractState): Promise<ContractState>;
|
|
61
|
-
static ContractCreatedEvent:
|
|
62
|
-
static ContractDestroyedEvent:
|
|
113
|
+
static ContractCreatedEvent: EventSig;
|
|
114
|
+
static ContractDestroyedEvent: EventSig;
|
|
63
115
|
static fromApiEvent(event: node.ContractEventByTxId, codeHash: string | undefined): Promise<ContractEventByTxId>;
|
|
64
116
|
fromTestContractResult(methodIndex: number, result: node.TestContractResult): Promise<TestContractResult>;
|
|
65
117
|
paramsForDeployment(params: BuildDeployContractTx): Promise<SignDeployContractTxParams>;
|
|
66
118
|
transactionForDeployment(signer: SignerWithNodeProvider, params: Omit<BuildDeployContractTx, 'signerAddress'>): Promise<DeployContractTransaction>;
|
|
67
119
|
buildByteCodeToDeploy(initialFields: Fields): string;
|
|
68
120
|
}
|
|
69
|
-
export declare class Script extends
|
|
121
|
+
export declare class Script extends Artifact {
|
|
70
122
|
readonly bytecodeTemplate: string;
|
|
71
|
-
readonly fieldsSig:
|
|
72
|
-
constructor(
|
|
73
|
-
static
|
|
74
|
-
private static loadContractStr;
|
|
75
|
-
static fromSource(provider: NodeProvider, path: string): Promise<Script>;
|
|
76
|
-
private static compile;
|
|
123
|
+
readonly fieldsSig: FieldsSig;
|
|
124
|
+
constructor(bytecodeTemplate: string, fieldsSig: FieldsSig, functions: FunctionSig[]);
|
|
125
|
+
static fromCompileResult(result: CompileScriptResult): Script;
|
|
77
126
|
static fromJson(artifact: any): Script;
|
|
78
127
|
static fromArtifactFile(path: string): Promise<Script>;
|
|
79
128
|
toString(): string;
|
|
@@ -107,7 +156,7 @@ export interface ContractState {
|
|
|
107
156
|
initialStateHash?: string;
|
|
108
157
|
codeHash: string;
|
|
109
158
|
fields: Fields;
|
|
110
|
-
fieldsSig:
|
|
159
|
+
fieldsSig: FieldsSig;
|
|
111
160
|
asset: Asset;
|
|
112
161
|
}
|
|
113
162
|
export interface TestContractParams {
|