@alephium/web3 0.8.2-test.2 → 0.9.0-rc.0

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 (78) hide show
  1. package/LICENSE +165 -0
  2. package/package.json +37 -36
  3. package/src/api/api-alephium.ts +2 -1
  4. package/src/api/node-provider.ts +41 -25
  5. package/src/api/types.ts +10 -15
  6. package/src/contract/contract.ts +63 -40
  7. package/src/index.ts +1 -0
  8. package/{dist/scripts/header.js → src/token/index.ts} +2 -1
  9. package/{dist/src/utils/djb2.js → src/token/nft.ts} +16 -9
  10. package/std/fungible_token_interface.ral +1 -0
  11. package/std/nft_collection_interface.ral +24 -3
  12. package/std/nft_interface.ral +22 -0
  13. package/dist/alephium-web3.min.js +0 -3
  14. package/dist/alephium-web3.min.js.LICENSE.txt +0 -12
  15. package/dist/alephium-web3.min.js.map +0 -1
  16. package/dist/scripts/check-versions.d.ts +0 -1
  17. package/dist/scripts/check-versions.js +0 -39
  18. package/dist/scripts/header.d.ts +0 -0
  19. package/dist/src/api/api-alephium.d.ts +0 -1716
  20. package/dist/src/api/api-alephium.js +0 -1284
  21. package/dist/src/api/api-explorer.d.ts +0 -923
  22. package/dist/src/api/api-explorer.js +0 -711
  23. package/dist/src/api/explorer-provider.d.ts +0 -20
  24. package/dist/src/api/explorer-provider.js +0 -69
  25. package/dist/src/api/index.d.ts +0 -6
  26. package/dist/src/api/index.js +0 -52
  27. package/dist/src/api/node-provider.d.ts +0 -23
  28. package/dist/src/api/node-provider.js +0 -93
  29. package/dist/src/api/types.d.ts +0 -38
  30. package/dist/src/api/types.js +0 -263
  31. package/dist/src/api/utils.d.ts +0 -12
  32. package/dist/src/api/utils.js +0 -59
  33. package/dist/src/constants.d.ts +0 -6
  34. package/dist/src/constants.js +0 -26
  35. package/dist/src/contract/contract.d.ts +0 -293
  36. package/dist/src/contract/contract.js +0 -1079
  37. package/dist/src/contract/events.d.ts +0 -11
  38. package/dist/src/contract/events.js +0 -65
  39. package/dist/src/contract/index.d.ts +0 -3
  40. package/dist/src/contract/index.js +0 -36
  41. package/dist/src/contract/ralph.d.ts +0 -13
  42. package/dist/src/contract/ralph.js +0 -397
  43. package/dist/src/global.d.ts +0 -7
  44. package/dist/src/global.js +0 -54
  45. package/dist/src/index.d.ts +0 -8
  46. package/dist/src/index.js +0 -57
  47. package/dist/src/signer/index.d.ts +0 -3
  48. package/dist/src/signer/index.js +0 -36
  49. package/dist/src/signer/signer.d.ts +0 -60
  50. package/dist/src/signer/signer.js +0 -236
  51. package/dist/src/signer/tx-builder.d.ts +0 -12
  52. package/dist/src/signer/tx-builder.js +0 -96
  53. package/dist/src/signer/types.d.ts +0 -115
  54. package/dist/src/signer/types.js +0 -30
  55. package/dist/src/transaction/index.d.ts +0 -2
  56. package/dist/src/transaction/index.js +0 -35
  57. package/dist/src/transaction/sign-verify.d.ts +0 -3
  58. package/dist/src/transaction/sign-verify.js +0 -52
  59. package/dist/src/transaction/status.d.ts +0 -11
  60. package/dist/src/transaction/status.js +0 -49
  61. package/dist/src/utils/address.d.ts +0 -1
  62. package/dist/src/utils/address.js +0 -42
  63. package/dist/src/utils/bs58.d.ts +0 -5
  64. package/dist/src/utils/bs58.js +0 -40
  65. package/dist/src/utils/djb2.d.ts +0 -1
  66. package/dist/src/utils/index.d.ts +0 -7
  67. package/dist/src/utils/index.js +0 -40
  68. package/dist/src/utils/number.d.ts +0 -18
  69. package/dist/src/utils/number.fixture.d.ts +0 -12
  70. package/dist/src/utils/number.fixture.js +0 -189
  71. package/dist/src/utils/number.js +0 -149
  72. package/dist/src/utils/sign.d.ts +0 -3
  73. package/dist/src/utils/sign.js +0 -89
  74. package/dist/src/utils/subscription.d.ts +0 -21
  75. package/dist/src/utils/subscription.js +0 -51
  76. package/dist/src/utils/utils.d.ts +0 -40
  77. package/dist/src/utils/utils.js +0 -244
  78. package/jest-config.json +0 -11
@@ -1,293 +0,0 @@
1
- import { NamedVals, node, Number256, Token } from '../api';
2
- import { SignDeployContractTxParams, SignDeployContractTxResult, SignExecuteScriptTxParams, SignerProvider, Address } from '../signer';
3
- import { SubscribeOptions, Optional } from '../utils';
4
- import { EventSubscription } from './events';
5
- export declare type FieldsSig = node.FieldsSig;
6
- export declare type EventSig = node.EventSig;
7
- export declare type FunctionSig = node.FunctionSig;
8
- export declare type Fields = NamedVals;
9
- export declare type Arguments = NamedVals;
10
- export declare type HexString = string;
11
- declare enum SourceKind {
12
- Contract = 0,
13
- Script = 1,
14
- AbstractContract = 2,
15
- Interface = 3
16
- }
17
- export declare type CompilerOptions = node.CompilerOptions & {
18
- errorOnWarnings: boolean;
19
- };
20
- export declare const DEFAULT_NODE_COMPILER_OPTIONS: node.CompilerOptions;
21
- export declare const DEFAULT_COMPILER_OPTIONS: CompilerOptions;
22
- declare class TypedMatcher<T extends SourceKind> {
23
- matcher: RegExp;
24
- type: T;
25
- constructor(pattern: string, type: T);
26
- }
27
- declare class SourceInfo {
28
- type: SourceKind;
29
- name: string;
30
- contractRelativePath: string;
31
- sourceCode: string;
32
- sourceCodeHash: string;
33
- isExternal: boolean;
34
- getArtifactPath(artifactsRootDir: string): string;
35
- constructor(type: SourceKind, name: string, sourceCode: string, sourceCodeHash: string, contractRelativePath: string, isExternal: boolean);
36
- static from(type: SourceKind, name: string, sourceCode: string, contractRelativePath: string, isExternal: boolean): Promise<SourceInfo>;
37
- }
38
- declare class Compiled<T extends Artifact> {
39
- sourceInfo: SourceInfo;
40
- artifact: T;
41
- warnings: string[];
42
- constructor(sourceInfo: SourceInfo, artifact: T, warnings: string[]);
43
- }
44
- declare type CodeInfo = {
45
- sourceFile: string;
46
- sourceCodeHash: string;
47
- bytecodeDebugPatch: string;
48
- codeHashDebug: string;
49
- warnings: string[];
50
- };
51
- declare class ProjectArtifact {
52
- static readonly artifactFileName = ".project.json";
53
- compilerOptionsUsed: node.CompilerOptions;
54
- infos: Map<string, CodeInfo>;
55
- static checkCompilerOptionsParameter(compilerOptions: node.CompilerOptions): void;
56
- constructor(compilerOptionsUsed: node.CompilerOptions, infos: Map<string, CodeInfo>);
57
- saveToFile(rootPath: string): Promise<void>;
58
- needToReCompile(compilerOptions: node.CompilerOptions, sourceInfos: SourceInfo[]): boolean;
59
- static from(rootPath: string): Promise<ProjectArtifact | undefined>;
60
- }
61
- export declare class Project {
62
- sourceInfos: SourceInfo[];
63
- contracts: Map<string, Compiled<Contract>>;
64
- scripts: Map<string, Compiled<Script>>;
65
- projectArtifact: ProjectArtifact;
66
- readonly contractsRootDir: string;
67
- readonly artifactsRootDir: string;
68
- static currentProject: Project;
69
- static readonly importRegex: RegExp;
70
- static readonly abstractContractMatcher: TypedMatcher<SourceKind>;
71
- static readonly contractMatcher: TypedMatcher<SourceKind.Contract>;
72
- static readonly interfaceMatcher: TypedMatcher<SourceKind.Interface>;
73
- static readonly scriptMatcher: TypedMatcher<SourceKind.Script>;
74
- static readonly matchers: TypedMatcher<SourceKind>[];
75
- static buildProjectArtifact(sourceInfos: SourceInfo[], contracts: Map<string, Compiled<Contract>>, scripts: Map<string, Compiled<Script>>, compilerOptions: node.CompilerOptions): ProjectArtifact;
76
- private constructor();
77
- static checkCompilerWarnings(warnings: string[], errorOnWarnings: boolean): void;
78
- static contract(name: string): Contract;
79
- static script(name: string): Script;
80
- private saveArtifactsToFile;
81
- contractByCodeHash(codeHash: string): Contract;
82
- private static compile;
83
- private static loadArtifacts;
84
- private static getImportSourcePath;
85
- private static handleImports;
86
- private static loadSourceFile;
87
- private static loadSourceFiles;
88
- static readonly DEFAULT_CONTRACTS_DIR = "contracts";
89
- static readonly DEFAULT_ARTIFACTS_DIR = "artifacts";
90
- static build(compilerOptionsPartial?: Partial<CompilerOptions>, projectRootDir?: string, contractsRootDir?: string, artifactsRootDir?: string): Promise<void>;
91
- }
92
- export declare abstract class Artifact {
93
- readonly version: string;
94
- readonly name: string;
95
- readonly functions: FunctionSig[];
96
- constructor(version: string, name: string, functions: FunctionSig[]);
97
- abstract buildByteCodeToDeploy(initialFields?: Fields): string;
98
- publicFunctions(): string[];
99
- usingPreapprovedAssetsFunctions(): string[];
100
- usingAssetsInContractFunctions(): string[];
101
- }
102
- export declare class Contract extends Artifact {
103
- readonly bytecode: string;
104
- readonly bytecodeDebugPatch: string;
105
- readonly codeHash: string;
106
- readonly fieldsSig: FieldsSig;
107
- readonly eventsSig: EventSig[];
108
- readonly bytecodeDebug: string;
109
- readonly codeHashDebug: string;
110
- constructor(version: string, name: string, bytecode: string, bytecodeDebugPatch: string, codeHash: string, codeHashDebug: string, fieldsSig: FieldsSig, eventsSig: EventSig[], functions: FunctionSig[]);
111
- static fromJson(artifact: any, bytecodeDebugPatch?: string, codeHashDebug?: string): Contract;
112
- static fromCompileResult(result: node.CompileContractResult): Contract;
113
- static fromArtifactFile(path: string, bytecodeDebugPatch: string, codeHashDebug: string): Promise<Contract>;
114
- toString(): string;
115
- toState<T extends Fields>(fields: T, asset: Asset, address?: string): ContractState<T>;
116
- static randomAddress(): string;
117
- printDebugMessages(funcName: string, messages: DebugMessage[]): void;
118
- toApiFields(fields?: Fields): node.Val[];
119
- toApiArgs(funcName: string, args?: Arguments): node.Val[];
120
- getMethodIndex(funcName: string): number;
121
- toApiContractStates(states?: ContractState[]): node.ContractState[] | undefined;
122
- toApiTestContractParams(funcName: string, params: TestContractParams): node.TestContract;
123
- fromApiContractState(state: node.ContractState): ContractState<Fields>;
124
- static fromApiContractState(state: node.ContractState): ContractState;
125
- static ContractCreatedEventIndex: number;
126
- static ContractCreatedEvent: SystemEventSig;
127
- static ContractDestroyedEventIndex: number;
128
- static ContractDestroyedEvent: SystemEventSig;
129
- static fromApiEvent(event: node.ContractEventByTxId, codeHash: string | undefined, txId: string): ContractEvent;
130
- fromApiTestContractResult(methodName: string, result: node.TestContractResult, txId: string): TestContractResult<unknown>;
131
- txParamsForDeployment<P extends Fields>(signer: SignerProvider, params: DeployContractParams<P>): Promise<SignDeployContractTxParams>;
132
- buildByteCodeToDeploy(initialFields: Fields): string;
133
- static fromApiEvents(events: node.ContractEventByTxId[], addressToCodeHash: Map<string, string>, txId: string): ContractEvent[];
134
- toApiCallContract<T extends Arguments>(params: CallContractParams<T>, groupIndex: number, contractAddress: string, methodIndex: number): node.CallContract;
135
- fromApiCallContractResult(result: node.CallContractResult, txId: string, methodIndex: number): CallContractResult<unknown>;
136
- }
137
- export declare class Script extends Artifact {
138
- readonly bytecodeTemplate: string;
139
- readonly bytecodeDebugPatch: string;
140
- readonly fieldsSig: FieldsSig;
141
- constructor(version: string, name: string, bytecodeTemplate: string, bytecodeDebugPatch: string, fieldsSig: FieldsSig, functions: FunctionSig[]);
142
- static fromCompileResult(result: node.CompileScriptResult): Script;
143
- static fromJson(artifact: any, bytecodeDebugPatch?: string): Script;
144
- static fromArtifactFile(path: string, bytecodeDebugPatch: string): Promise<Script>;
145
- toString(): string;
146
- txParamsForExecution<P extends Fields>(signer: SignerProvider, params: ExecuteScriptParams<P>): Promise<SignExecuteScriptTxParams>;
147
- buildByteCodeToDeploy(initialFields: Fields): string;
148
- }
149
- export interface Asset {
150
- alphAmount: Number256;
151
- tokens?: Token[];
152
- }
153
- export interface InputAsset {
154
- address: string;
155
- asset: Asset;
156
- }
157
- export interface ContractState<T extends Fields = Fields> {
158
- address: string;
159
- contractId: string;
160
- bytecode: string;
161
- initialStateHash?: string;
162
- codeHash: string;
163
- fields: T;
164
- fieldsSig: FieldsSig;
165
- asset: Asset;
166
- }
167
- export declare function toApiVals(fields: Fields, names: string[], types: string[]): node.Val[];
168
- export interface TestContractParams<F extends Fields = Fields, A extends Arguments = Arguments> {
169
- group?: number;
170
- address?: string;
171
- blockHash?: string;
172
- blockTimeStamp?: number;
173
- txId?: string;
174
- initialFields: F;
175
- initialAsset?: Asset;
176
- testArgs: A;
177
- existingContracts?: ContractState[];
178
- inputAssets?: InputAsset[];
179
- }
180
- export interface ContractEvent<T extends Fields = Fields> {
181
- txId: string;
182
- blockHash: string;
183
- contractAddress: string;
184
- eventIndex: number;
185
- name: string;
186
- fields: T;
187
- }
188
- export declare type DebugMessage = node.DebugMessage;
189
- export interface TestContractResult<R> {
190
- contractId: string;
191
- contractAddress: string;
192
- returns: R;
193
- gasUsed: number;
194
- contracts: ContractState[];
195
- txOutputs: Output[];
196
- events: ContractEvent[];
197
- debugMessages: DebugMessage[];
198
- }
199
- export declare type Output = AssetOutput | ContractOutput;
200
- export interface AssetOutput extends Asset {
201
- type: string;
202
- address: string;
203
- lockTime: number;
204
- message: string;
205
- }
206
- export interface ContractOutput {
207
- type: string;
208
- address: string;
209
- alphAmount: Number256;
210
- tokens?: Token[];
211
- }
212
- export declare function randomTxId(): string;
213
- export interface DeployContractParams<P extends Fields = Fields> {
214
- initialFields: P;
215
- initialAttoAlphAmount?: Number256;
216
- initialTokenAmounts?: Token[];
217
- issueTokenAmount?: Number256;
218
- gasAmount?: number;
219
- gasPrice?: Number256;
220
- }
221
- export declare type DeployContractResult<T> = SignDeployContractTxResult & {
222
- instance: T;
223
- };
224
- export declare abstract class ContractFactory<I, F extends Fields = Fields> {
225
- readonly contract: Contract;
226
- constructor(contract: Contract);
227
- abstract at(address: string): I;
228
- deploy(signer: SignerProvider, deployParams: DeployContractParams<F>): Promise<DeployContractResult<I>>;
229
- stateForTest(initFields: F, asset?: Asset, address?: string): ContractState<F>;
230
- }
231
- export interface ExecuteScriptParams<P extends Fields = Fields> {
232
- initialFields: P;
233
- attoAlphAmount?: Number256;
234
- tokens?: Token[];
235
- gasAmount?: number;
236
- gasPrice?: Number256;
237
- }
238
- export interface ExecuteScriptResult {
239
- groupIndex: number;
240
- unsignedTx: string;
241
- txId: string;
242
- signature: string;
243
- gasAmount: number;
244
- gasPrice: Number256;
245
- }
246
- export interface CallContractParams<T extends Arguments = Arguments> {
247
- args: T;
248
- worldStateBlockHash?: string;
249
- txId?: string;
250
- existingContracts?: string[];
251
- inputAssets?: node.TestInputAsset[];
252
- }
253
- export interface CallContractResult<R> {
254
- returns: R;
255
- gasUsed: number;
256
- contracts: ContractState[];
257
- txInputs: string[];
258
- txOutputs: Output[];
259
- events: ContractEvent[];
260
- }
261
- export declare const CreateContractEventAddress: string;
262
- export declare const DestroyContractEventAddress: string;
263
- export interface SystemEventSig extends EventSig {
264
- optionalFieldNames?: string[];
265
- optionalFieldTypes?: string[];
266
- }
267
- export declare type ContractCreatedEvent = ContractEvent<{
268
- address: Address;
269
- parentAddress?: Address;
270
- }>;
271
- export declare type ContractDestroyedEvent = ContractEvent<{
272
- address: Address;
273
- }>;
274
- export declare function decodeContractCreatedEvent(event: node.ContractEvent): Omit<ContractCreatedEvent, 'contractAddress'>;
275
- export declare function decodeContractDestroyedEvent(event: node.ContractEvent): Omit<ContractDestroyedEvent, 'contractAddress'>;
276
- export declare function subscribeEventsFromContract<T extends Fields, M extends ContractEvent<T>>(options: SubscribeOptions<M>, address: string, eventIndex: number, decodeFunc: (event: node.ContractEvent) => M, fromCount?: number): EventSubscription;
277
- export declare function testMethod<I, F extends Fields, A extends Arguments, R>(contract: ContractFactory<I, F>, methodName: string, params: Optional<TestContractParams<F, A>, 'testArgs' | 'initialFields'>): Promise<TestContractResult<R>>;
278
- export declare abstract class ContractInstance {
279
- readonly address: Address;
280
- readonly contractId: string;
281
- readonly groupIndex: number;
282
- constructor(address: Address);
283
- }
284
- export declare function fetchContractState<F extends Fields, I extends ContractInstance>(contract: ContractFactory<I, F>, instance: ContractInstance): Promise<ContractState<F>>;
285
- export declare function subscribeContractCreatedEvent(options: SubscribeOptions<ContractCreatedEvent>, fromCount?: number): EventSubscription;
286
- export declare function subscribeContractDestroyedEvent(options: SubscribeOptions<ContractDestroyedEvent>, fromCount?: number): EventSubscription;
287
- export declare function decodeEvent<F extends Fields, M extends ContractEvent<F>>(contract: Contract, instance: ContractInstance, event: node.ContractEvent, targetEventIndex: number): M;
288
- export declare function subscribeContractEvent<F extends Fields, M extends ContractEvent<F>>(contract: Contract, instance: ContractInstance, options: SubscribeOptions<M>, eventName: string, fromCount?: number): EventSubscription;
289
- export declare function subscribeContractEvents(contract: Contract, instance: ContractInstance, options: SubscribeOptions<ContractEvent<any>>, fromCount?: number): EventSubscription;
290
- export declare function callMethod<I, F extends Fields, A extends Arguments, R>(contract: ContractFactory<I, F>, instance: ContractInstance, methodName: string, params: Optional<CallContractParams<A>, 'args'>): Promise<CallContractResult<R>>;
291
- export declare function multicallMethods<I, F extends Fields>(contract: ContractFactory<I, F>, instance: ContractInstance, calls: Record<string, Optional<CallContractParams<any>, 'args'>>): Promise<Record<string, CallContractResult<any>>>;
292
- export declare function getContractEventsCurrentCount(contractAddress: Address): Promise<number>;
293
- export {};