dequanto 0.1.21 → 0.1.22

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 (123) hide show
  1. package/lib/cjs/abi/coders/array.js +1 -1
  2. package/lib/cjs/abi/coders/array.js.map +1 -1
  3. package/lib/cjs/chains/arbitrum/Arbiscan.d.ts +1 -1
  4. package/lib/cjs/chains/boba/Bobascan.d.ts +1 -1
  5. package/lib/cjs/chains/xdai/XDaiscan.d.ts +1 -1
  6. package/lib/cjs/contracts/ContractBase.d.ts +1 -0
  7. package/lib/cjs/contracts/ContractBase.js.map +1 -1
  8. package/lib/cjs/contracts/ContractClassFactory.d.ts +2 -1
  9. package/lib/cjs/contracts/ContractClassFactory.js +5 -1
  10. package/lib/cjs/contracts/ContractClassFactory.js.map +1 -1
  11. package/lib/cjs/contracts/deploy/ContractDeployer.d.ts +1 -1
  12. package/lib/cjs/contracts/deploy/Deployments.d.ts +1 -1
  13. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.d.ts +1 -1
  14. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.d.ts +1 -1
  15. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js +3 -3
  16. package/lib/cjs/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  17. package/lib/cjs/explorer/BlockChainExplorerFactory.d.ts +1 -1
  18. package/lib/cjs/explorer/BlockChainExplorerProvider.d.ts +1 -1
  19. package/lib/cjs/explorer/Bscscan.d.ts +1 -1
  20. package/lib/cjs/explorer/ContractVerifier.d.ts +1 -1
  21. package/lib/cjs/explorer/ContractVerifier.js.map +1 -1
  22. package/lib/cjs/explorer/Etherscan.d.ts +1 -1
  23. package/lib/cjs/explorer/Polyscan.d.ts +1 -1
  24. package/lib/cjs/gen/GeneratorFromAbi.d.ts +3 -0
  25. package/lib/cjs/gen/GeneratorFromAbi.js +29 -1
  26. package/lib/cjs/gen/GeneratorFromAbi.js.map +1 -1
  27. package/lib/cjs/hardhat/HardhatProvider.d.ts +24 -2
  28. package/lib/cjs/hardhat/HardhatProvider.js +155 -92
  29. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  30. package/lib/cjs/json/JsonArrayMultiStore.js +4 -2
  31. package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
  32. package/lib/cjs/json/JsonArrayStore.d.ts +2 -2
  33. package/lib/cjs/models/TEth.d.ts +2 -2
  34. package/lib/cjs/solidity/SlotsStorage.js.map +1 -1
  35. package/lib/cjs/utils/$abiParser.js +8 -1
  36. package/lib/cjs/utils/$abiParser.js.map +1 -1
  37. package/lib/cjs/utils/$bigint.d.ts +4 -0
  38. package/lib/cjs/utils/$bigint.js +40 -0
  39. package/lib/cjs/utils/$bigint.js.map +1 -1
  40. package/lib/cjs/utils/$contract.js +6 -0
  41. package/lib/cjs/utils/$contract.js.map +1 -1
  42. package/lib/cjs/utils/$path.d.ts +6 -0
  43. package/lib/cjs/utils/$path.js +19 -0
  44. package/lib/cjs/utils/$path.js.map +1 -1
  45. package/lib/cjs/utils/$sig.d.ts +3 -0
  46. package/lib/cjs/utils/$sig.js +2 -2
  47. package/lib/cjs/utils/$sig.js.map +1 -1
  48. package/lib/cjs/utils/types.d.ts +3 -0
  49. package/lib/esm/abi/coders/array.js.map +1 -1
  50. package/lib/esm/abi/coders/array.mjs +1 -1
  51. package/lib/esm/chains/arbitrum/Arbiscan.d.ts +1 -1
  52. package/lib/esm/chains/boba/Bobascan.d.ts +1 -1
  53. package/lib/esm/chains/xdai/XDaiscan.d.ts +1 -1
  54. package/lib/esm/contracts/ContractBase.d.ts +1 -0
  55. package/lib/esm/contracts/ContractBase.js.map +1 -1
  56. package/lib/esm/contracts/ContractClassFactory.d.ts +2 -1
  57. package/lib/esm/contracts/ContractClassFactory.js.map +1 -1
  58. package/lib/esm/contracts/ContractClassFactory.mjs +5 -1
  59. package/lib/esm/contracts/deploy/ContractDeployer.d.ts +1 -1
  60. package/lib/esm/contracts/deploy/Deployments.d.ts +1 -1
  61. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.d.ts +1 -1
  62. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.d.ts +1 -1
  63. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.js.map +1 -1
  64. package/lib/esm/contracts/deploy/storage/DeploymentsStorage.mjs +3 -3
  65. package/lib/esm/explorer/BlockChainExplorerFactory.d.ts +1 -1
  66. package/lib/esm/explorer/BlockChainExplorerProvider.d.ts +1 -1
  67. package/lib/esm/explorer/Bscscan.d.ts +1 -1
  68. package/lib/esm/explorer/ContractVerifier.d.ts +1 -1
  69. package/lib/esm/explorer/ContractVerifier.js.map +1 -1
  70. package/lib/esm/explorer/Etherscan.d.ts +1 -1
  71. package/lib/esm/explorer/Polyscan.d.ts +1 -1
  72. package/lib/esm/gen/GeneratorFromAbi.d.ts +3 -0
  73. package/lib/esm/gen/GeneratorFromAbi.js.map +1 -1
  74. package/lib/esm/gen/GeneratorFromAbi.mjs +29 -1
  75. package/lib/esm/hardhat/HardhatProvider.d.ts +24 -2
  76. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  77. package/lib/esm/hardhat/HardhatProvider.mjs +155 -92
  78. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  79. package/lib/esm/json/JsonArrayMultiStore.mjs +4 -2
  80. package/lib/esm/json/JsonArrayStore.d.ts +2 -2
  81. package/lib/esm/models/TEth.d.ts +2 -2
  82. package/lib/esm/solidity/SlotsStorage.js.map +1 -1
  83. package/lib/esm/utils/$abiParser.js.map +1 -1
  84. package/lib/esm/utils/$abiParser.mjs +8 -1
  85. package/lib/esm/utils/$bigint.d.ts +4 -0
  86. package/lib/esm/utils/$bigint.js.map +1 -1
  87. package/lib/esm/utils/$bigint.mjs +40 -0
  88. package/lib/esm/utils/$contract.js.map +1 -1
  89. package/lib/esm/utils/$contract.mjs +6 -0
  90. package/lib/esm/utils/$path.d.ts +6 -0
  91. package/lib/esm/utils/$path.js.map +1 -1
  92. package/lib/esm/utils/$path.mjs +19 -0
  93. package/lib/esm/utils/$sig.d.ts +3 -0
  94. package/lib/esm/utils/$sig.js.map +1 -1
  95. package/lib/esm/utils/$sig.mjs +1 -1
  96. package/lib/esm/utils/types.d.ts +3 -0
  97. package/package.json +1 -1
  98. package/src/abi/coders/array.ts +1 -1
  99. package/src/contracts/ContractBase.ts +2 -0
  100. package/src/contracts/ContractClassFactory.ts +8 -2
  101. package/src/contracts/deploy/ContractDeployer.ts +1 -1
  102. package/src/contracts/deploy/Deployments.ts +1 -1
  103. package/src/contracts/deploy/proxy/ProxyDeployment.ts +1 -1
  104. package/src/contracts/deploy/storage/DeploymentsStorage.ts +5 -5
  105. package/src/contracts/wrappers/FnSignedWrapper.ts +1 -1
  106. package/src/explorer/BlockChainExplorerFactory.ts +1 -1
  107. package/src/explorer/BlockChainExplorerProvider.ts +1 -1
  108. package/src/explorer/ContractVerifier.ts +2 -1
  109. package/src/gen/ContractStorageReaderTemplate.d.ts.template +14 -0
  110. package/src/gen/ContractTemplate.d.ts.template +111 -0
  111. package/src/gen/GeneratorFromAbi.ts +29 -1
  112. package/src/hardhat/HardhatProvider.ts +228 -106
  113. package/src/json/JsonArrayMultiStore.ts +4 -2
  114. package/src/json/JsonArrayStore.ts +1 -1
  115. package/src/models/TEth.ts +2 -2
  116. package/src/solidity/SlotsStorage.ts +2 -1
  117. package/src/types/TAbi.ts +2 -2
  118. package/src/utils/$abiParser.ts +8 -1
  119. package/src/utils/$bigint.ts +41 -0
  120. package/src/utils/$contract.ts +6 -1
  121. package/src/utils/$path.ts +18 -0
  122. package/src/utils/$sig.ts +1 -1
  123. package/src/utils/types.ts +3 -0
@@ -47,6 +47,25 @@ export var $path;
47
47
  return path;
48
48
  }
49
49
  $path.normalize = normalize;
50
+ function getDirectory(path) {
51
+ const dir = path.replace(/[^\/\\]+$/, '');
52
+ return dir;
53
+ }
54
+ $path.getDirectory = getDirectory;
55
+ function getFilename(path) {
56
+ const match = /(?<filename>[^\/\\]+)\.(?<extension>\w+)$/.exec(path);
57
+ const { filename, extension } = match?.groups ?? { filename: null, extension: null };
58
+ return { filename, extension };
59
+ }
60
+ $path.getFilename = getFilename;
61
+ function getRelativePath(path, base) {
62
+ let i = path.toLowerCase().indexOf(base.toLowerCase());
63
+ if (i > -1) {
64
+ return path.substring(i + base.length);
65
+ }
66
+ return path;
67
+ }
68
+ $path.getRelativePath = getRelativePath;
50
69
  function getRoot() {
51
70
  let base = $config.get('settings.base');
52
71
  if (base != null) {
@@ -82,4 +82,7 @@ export declare namespace $sig {
82
82
  };
83
83
  }
84
84
  type TKey = TEth.Hex | `p1:0x${string}`;
85
+ export declare namespace KeyUtils {
86
+ function withKey<TReturn>(account: TEth.EoAccount, fn: (account: TEth.EoAccount) => TReturn): Promise<TReturn>;
87
+ }
85
88
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"$sig.js","sourceRoot":"","sources":["../../../src/utils/$sig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$sig.js","sourceRoot":"","sources":["../../../src/utils/$sig.ts"],"names":[],"mappings":"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"}
@@ -598,7 +598,7 @@ export var $sig;
598
598
  })($to || ($to = {}));
599
599
  })(TxDeserializer = $sig.TxDeserializer || ($sig.TxDeserializer = {}));
600
600
  })($sig || ($sig = {}));
601
- var KeyUtils;
601
+ export var KeyUtils;
602
602
  (function (KeyUtils) {
603
603
  const rgx = /^p1:/;
604
604
  async function withKey(account, fn) {
@@ -9,6 +9,9 @@ export type ValuesOf<T extends any[]> = T[number];
9
9
  export type DeepPartial<T> = {
10
10
  [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : DeepPartial<T[P]> | T[P];
11
11
  };
12
+ export type Constructor<T = {}> = {
13
+ new (...args: any[]): T;
14
+ };
12
15
  export type IntersectionTypeWithArrays<T1, T2, arrayKeys extends (keyof T1 & keyof T2)> = (Omit<T1, arrayKeys> & Omit<T2, arrayKeys> & {
13
16
  [key in arrayKeys]: ((T1[key] extends Array<infer U1> ? U1 : never) & (T2[key] extends Array<infer U2> ? U2 : never))[];
14
17
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.1.21",
3
+ "version": "0.1.22",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -28,7 +28,7 @@ export function pack(writer: Writer, coders: ReadonlyArray<Coder>, values: Array
28
28
  throw new Error("invalid tuple value" + JSON.stringify(values));
29
29
  }
30
30
 
31
- $require.True(coders.length === arrayValues.length, "types/value length mismatch" + values);
31
+ $require.eq(coders.length, arrayValues.length, "types/value length mismatch");
32
32
 
33
33
  let staticWriter = new Writer();
34
34
  let dynamicWriter = new Writer();
@@ -53,6 +53,8 @@ export abstract class ContractBase {
53
53
  class?: string
54
54
  // Path to the SOL file (exists when the contract was generated from SOL)
55
55
  source?: string
56
+ // Contract name
57
+ name?: string
56
58
  }
57
59
 
58
60
  storage?: ContractStorageReaderBase
@@ -4,7 +4,7 @@ import { Web3Client } from '@dequanto/clients/Web3Client';
4
4
  import { TAddress } from '@dequanto/models/TAddress';
5
5
  import { ContractBase } from './ContractBase';
6
6
  import { $abiParser } from '@dequanto/utils/$abiParser';
7
- import { Constructor } from 'atma-utils';
7
+ import { Constructor } from '@dequanto/utils/types';
8
8
  import alot from 'alot';
9
9
 
10
10
 
@@ -29,6 +29,7 @@ export namespace ContractClassFactory {
29
29
  , client: Web3Client
30
30
  , explorer?: IBlockChainExplorer
31
31
  , opts?: {
32
+ contractName?: string
32
33
  $meta?: ContractBase['$meta']
33
34
  }
34
35
  ): {
@@ -49,6 +50,7 @@ export namespace ContractClassFactory {
49
50
  class ClassBuilder<T = ContractBase> {
50
51
 
51
52
  constructor (private abi: TAbiItem[], private opts?: {
53
+ contractName?: string
52
54
  $meta?: ContractBase['$meta']
53
55
  }) {
54
56
 
@@ -68,11 +70,15 @@ class ClassBuilder<T = ContractBase> {
68
70
 
69
71
  private createClass (abi: TAbiItem[]) {
70
72
  let $meta = this.opts?.$meta;
71
- return class extends ContractBase {
73
+ let Ctor = class extends ContractBase {
72
74
  abi = abi
73
75
  $meta = $meta
74
76
  Types = null
75
77
  };
78
+ if (this.opts?.contractName) {
79
+ Object.defineProperty(Ctor, 'name', { value: this.opts.contractName });
80
+ }
81
+ return Ctor;
76
82
  }
77
83
 
78
84
  private defineMethods (Ctor, abi: TAbiItem[]) {
@@ -6,7 +6,7 @@ import { $require } from '@dequanto/utils/$require';
6
6
  import { ContractDeployment } from './ContractDeployment';
7
7
  import { $is } from '@dequanto/utils/$is';
8
8
  import { Directory, File } from 'atma-io';
9
- import { Constructor } from 'atma-utils';
9
+ import { Constructor } from '@dequanto/utils/types';
10
10
  import { ContractBase } from '../ContractBase';
11
11
 
12
12
 
@@ -8,7 +8,7 @@ import { $abiUtils } from '@dequanto/utils/$abiUtils';
8
8
  import { $contract } from '@dequanto/utils/$contract';
9
9
  import { $require } from '@dequanto/utils/$require';
10
10
  import { ParametersFromSecond } from '@dequanto/utils/types';
11
- import { Constructor } from 'atma-utils';
11
+ import { Constructor } from '@dequanto/utils/types';
12
12
 
13
13
  import { BlockChainExplorerProvider } from '@dequanto/explorer/BlockChainExplorerProvider';
14
14
  import { ContractVerifier } from '@dequanto/explorer/ContractVerifier';
@@ -3,7 +3,7 @@ import { TAddress } from '@dequanto/models/TAddress';
3
3
  import { TEth } from '@dequanto/models/TEth';
4
4
  import { IAccount } from '@dequanto/models/TAccount';
5
5
  import { $contract } from '@dequanto/utils/$contract';
6
- import { Constructor } from 'atma-utils';
6
+ import { Constructor } from '@dequanto/utils/types';
7
7
  import { ContractBase } from '@dequanto/contracts/ContractBase';
8
8
  import { $require } from '@dequanto/utils/$require';
9
9
  import { $address } from '@dequanto/utils/$address';
@@ -1,9 +1,9 @@
1
- import { JsonArrayStore } from '@dequanto/json/JsonArrayStore';
2
- import { $require } from '@dequanto/utils/$require';
3
- import { Constructor, class_Uri } from 'atma-utils';
4
1
  import memd from 'memd';
5
-
6
2
  import alot from 'alot';
3
+ import { JsonArrayStore } from '@dequanto/json/JsonArrayStore';
4
+ import { $require } from '@dequanto/utils/$require';
5
+ import { class_Uri } from 'atma-utils';
6
+ import { Constructor } from '@dequanto/utils/types';
7
7
  import { File } from 'atma-io';
8
8
  import { Web3Client } from '@dequanto/clients/Web3Client';
9
9
  import { TAddress } from '@dequanto/models/TAddress';
@@ -214,7 +214,7 @@ export class DeploymentsStorage {
214
214
 
215
215
  @memd.deco.memoize({ perInstance: true })
216
216
  private async getDeploymentsStore() {
217
- let directory = this.opts.directory ?? './deploy';
217
+ let directory = this.opts.directory ?? './0xc/deployments';
218
218
  let filenamePrefix = `deployments-` + (this.opts.name ? `${this.opts.name}-` : '');
219
219
  let path: string;
220
220
  let platformPathNormalized = this.client.platform.replace(/[:]/g, '-');
@@ -1,4 +1,4 @@
1
- import { Constructor } from 'atma-utils';
1
+ import { Constructor } from '@dequanto/utils/types';
2
2
  import type { ContractBase } from '../ContractBase';
3
3
  import { TAbiItem } from '@dequanto/types/TAbi';
4
4
  import { $abiUtils } from '@dequanto/utils/$abiUtils';
@@ -11,7 +11,7 @@ import { $address } from '@dequanto/utils/$address';
11
11
  import { $require } from '@dequanto/utils/$require';
12
12
  import { Web3ClientFactory } from '@dequanto/clients/Web3ClientFactory';
13
13
  import { $config } from '@dequanto/utils/$config';
14
- import { Constructor } from 'atma-utils';
14
+ import { Constructor } from '@dequanto/utils/types';
15
15
  import { $str } from '@dequanto/solidity/utils/$str';
16
16
  import { $platform } from '@dequanto/utils/$platform';
17
17
  import type { TAbiItem } from '@dequanto/types/TAbi';
@@ -9,7 +9,7 @@ import { $config } from '@dequanto/utils/$config';
9
9
  import { BlockChainExplorerFactory, IBlockChainExplorerFactoryParams } from './BlockChainExplorerFactory';
10
10
  import { Evmscan } from './Evmscan';
11
11
  import { IBlockChainExplorer } from './IBlockChainExplorer';
12
- import { Constructor } from 'atma-utils';
12
+ import { Constructor } from '@dequanto/utils/types';
13
13
 
14
14
  export namespace BlockChainExplorerProvider {
15
15
 
@@ -1,6 +1,7 @@
1
1
  import alot from 'alot';
2
2
  import { File } from 'atma-io';
3
- import { Constructor, class_Uri } from 'atma-utils';
3
+ import { Constructor } from '@dequanto/utils/types';
4
+ import { class_Uri } from 'atma-utils';
4
5
  import { ContractBase } from '@dequanto/contracts/ContractBase';
5
6
  import { ContractDeployer } from '@dequanto/contracts/deploy/ContractDeployer';
6
7
  import { Deployments } from '@dequanto/contracts/deploy/Deployments';
@@ -0,0 +1,14 @@
1
+
2
+
3
+ declare class $NAME$ extends ContractStorageReaderBase {
4
+ constructor(
5
+ public address,
6
+ public client,
7
+ public explorer,
8
+ )
9
+
10
+ /* METHODS */
11
+
12
+ $slots: $SLOTS$
13
+
14
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * AUTO-Generated Class: $DATE$
3
+ * Implementation: $EXPLORER_URL$
4
+ */
5
+ import di from 'a-di';
6
+ import { TAddress } from '@dequanto/models/TAddress';
7
+ import { TAccount } from '@dequanto/models/TAccount';
8
+ import { TBufferLike } from '@dequanto/models/TBufferLike';
9
+ import { ClientEventsStream, TClientEventsStreamData } from '@dequanto/clients/ClientEventsStream';
10
+ import { ContractBase } from '@dequanto/contracts/ContractBase';
11
+ import { ContractBaseUtils } from '@dequanto/contracts/utils/ContractBaseUtils';
12
+ import { ContractStorageReaderBase } from '@dequanto/contracts/ContractStorageReaderBase';
13
+ import { TxWriter } from '@dequanto/txs/TxWriter';
14
+ import { ITxLogItem } from '@dequanto/txs/receipt/ITxLogItem';
15
+ import { Web3Client } from '@dequanto/clients/Web3Client';
16
+ import { IBlockChainExplorer } from '@dequanto/explorer/IBlockChainExplorer';
17
+ import { SubjectStream } from '@dequanto/class/SubjectStream';
18
+
19
+
20
+ import type { ContractWriter } from '@dequanto/contracts/ContractWriter';
21
+ import type { TAbiItem } from '@dequanto/types/TAbi';
22
+ import type { TEth } from '@dequanto/models/TEth';
23
+ import type { TOverrideReturns } from '@dequanto/utils/types';
24
+
25
+
26
+ /* IMPORTS */
27
+
28
+ /* ERRORS */
29
+
30
+ export declare class $NAME$ extends ContractBase {
31
+ constructor(public address: TEth.Address,
32
+ public client: Web3Client,
33
+ public explorer: IBlockChainExplorer,
34
+ )
35
+
36
+ Types: T$NAME$Types;
37
+
38
+ /* METHODS */
39
+
40
+ $call (): TxCaller
41
+ $signed (): TOverrideReturns<I$NAME$TxCaller, Promise<{ signed: TEth.Hex, error?: Error & { data?: { type: string, params } } }>>
42
+ $data (): I$NAME$TxData
43
+ $gas (): TOverrideReturns<I$NAME$TxCaller, Promise<{ gas?: bigint, price?: bigint, error?: Error & { data?: { type: string, params } } }>>
44
+
45
+ onTransaction <TMethod extends keyof T$NAME$Types['Methods']> (method: TMethod, options: Parameters<ContractBase['$onTransaction']>[0]): SubjectStream<{
46
+ tx: TEth.Tx
47
+ block: TEth.Block<TEth.Hex>
48
+ calldata: {
49
+ method: TMethod
50
+ arguments: T$NAME$Types['Methods'][TMethod]['arguments']
51
+ }
52
+ }>
53
+
54
+ onLog (event: keyof TEvents, cb?: (event: TClientEventsStreamData) => void): ClientEventsStream<TClientEventsStreamData>
55
+
56
+
57
+ async getPastLogs <TEventName extends keyof TEvents> (
58
+ events: TEventName[]
59
+ , options?: TEventLogOptions<TEventParams<TEventName>>
60
+ ): Promise<ITxLogItem<TEventParams<TEventName>, TEventName>[]>
61
+ async getPastLogs <TEventName extends keyof TEvents> (
62
+ event: TEventName
63
+ , options?: TEventLogOptions<TEventParams<TEventName>>
64
+ ): Promise<ITxLogItem<TEventParams<TEventName>, TEventName>[]>
65
+ async getPastLogs (mix: any, options?): Promise<any>
66
+
67
+ /* EVENTS */
68
+
69
+ /* EVENTS_EXTRACTORS */
70
+
71
+ /* EVENTS_FETCHERS */
72
+
73
+ abi: TAbiItem[]
74
+
75
+ /* STORAGE_READER_PROPERTY */
76
+ }
77
+
78
+ type TSender = TAccount & {
79
+ value?: string | number | bigint
80
+ }
81
+
82
+ type TEventLogOptions<TParams> = {
83
+ fromBlock?: number | Date
84
+ toBlock?: number | Date
85
+ params?: TParams
86
+ }
87
+
88
+ export type T$NAME$Types = {
89
+ Events: {
90
+ /* $EVENT_TYPES$ */
91
+ },
92
+ Methods: {
93
+ /* $METHOD_TYPES$ */
94
+ }
95
+ }
96
+
97
+ /* STORAGE_READER_CLASS */
98
+
99
+ interface I$NAME$TxCaller {
100
+ /* TX_CALLER_METHODS */
101
+ }
102
+
103
+
104
+ interface I$NAME$TxData {
105
+ /* TX_DATA_METHODS */
106
+ }
107
+
108
+
109
+ type TEvents = T$NAME$Types['Events'];
110
+ type TEventParams<TEventName extends keyof TEvents> = Partial<TEvents[TEventName]['outputParams']>;
111
+ type TEventArguments<TEventName extends keyof TEvents> = Partial<TEvents[TEventName]['outputArgs']>;
@@ -279,7 +279,7 @@ export class GeneratorFromAbi {
279
279
  await File.writeAsync(outputPath, code, { skipHooks: true });
280
280
 
281
281
  if (opts.saveAbi) {
282
- let path = class_Uri.combine(opts.output, outputDirectory, `${outputFilename}.json`);
282
+ let path = class_Uri.combine(opts.output, outputDirectory, `${outputFilename}Abi.json`);
283
283
  await File.writeAsync(path, abiJson);
284
284
  }
285
285
 
@@ -480,6 +480,15 @@ namespace Gen {
480
480
  return await this.$getPastLogsParsed('${abi.name}', options) as any;
481
481
  }
482
482
  `,
483
+ types: `
484
+ async getPastLogs${abi.name} (options?: {
485
+ fromBlock?: number | Date
486
+ toBlock?: number | Date
487
+ params?: { ${indexedParams} }
488
+ }): Promise<ITxLogItem<TEventParams<'${abi.name}'>>[]> {
489
+ return await this.$getPastLogsParsed('${abi.name}', options) as any;
490
+ }
491
+ `,
483
492
  js: `
484
493
  async getPastLogs${abi.name} (options) {
485
494
  return await this.$getPastLogsParsed('${abi.name}', options);
@@ -525,6 +534,10 @@ namespace Gen {
525
534
  return this.$read(this.$getAbiItem('function', '${abi.name}')${callInputArguments});
526
535
  }
527
536
  `,
537
+ types: `
538
+ // ${$abiUtils.getMethodSignature(abi)}
539
+ async ${abi.name} (${fnInputArgumentsTargets.ts}): ${fnResult}
540
+ `,
528
541
  js: `
529
542
  // ${$abiUtils.getMethodSignature(abi)}
530
543
  async ${abi.name} (${fnInputArgumentsTargets.js}) {
@@ -553,6 +566,10 @@ namespace Gen {
553
566
  return this.$read(abi, ...args);
554
567
  }
555
568
  `,
569
+ types: `
570
+ ${overrides}
571
+ async ${abi.name} (...args): ${fnResult}
572
+ `,
556
573
  js: `
557
574
  async ${abi.name} (...args) {
558
575
  let abi = this.$getAbiItemOverload([ ${sigs} ], args);
@@ -575,6 +592,10 @@ namespace Gen {
575
592
  return this.$write(this.$getAbiItem('function', '${abi.name}'), sender${callInputArguments});
576
593
  }
577
594
  `,
595
+ types: `
596
+ // ${$abiUtils.getMethodSignature(abi)}
597
+ async ${abi.name} (sender: TSender, ${fnInputArgumentsTargets.ts}): Promise<TxWriter>
598
+ `,
578
599
  js: `
579
600
  // ${$abiUtils.getMethodSignature(abi)}
580
601
  async ${abi.name} (sender, ${fnInputArgumentsTargets.js}) {
@@ -594,6 +615,9 @@ namespace Gen {
594
615
  throw new Error('Not implemented. Typing purpose. Use the ContractDeployer class to deploy the contract');
595
616
  }
596
617
  `,
618
+ types: `
619
+ async $constructor (deployer: TSender, ${fnInputArgumentsTargets.ts}): Promise<TxWriter>
620
+ `,
597
621
  js: `
598
622
  async $constructor (deployer, ${fnInputArgumentsTargets.js}) {
599
623
  throw new Error('Not implemented. Typing purpose. Use the ContractDeployer class to deploy the contract');
@@ -620,6 +644,10 @@ namespace Gen {
620
644
  return this.$write(abi, sender, ...args);
621
645
  }
622
646
  `,
647
+ types: `
648
+ ${overrides}
649
+ async ${abi.name} (sender: TSender, ...args): Promise<TxWriter>
650
+ `,
623
651
  js: `
624
652
  async ${abi.name} (sender, ...args) {
625
653
  let abi = this.$getAbiItemOverload([ ${sigs} ], args);