dequanto 0.2.47 → 0.2.49

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 (76) hide show
  1. package/docs/ai/INDEX.md +41 -0
  2. package/docs/ai/examples/contract-read.spec.ts +44 -0
  3. package/docs/ai/examples/contract-write.spec.ts +16 -0
  4. package/docs/ai/examples/deploy-contract.spec.ts +32 -0
  5. package/docs/ai/examples/erc4337-userop.spec.ts +37 -0
  6. package/docs/ai/examples/explorer-abi.spec.ts +18 -0
  7. package/docs/ai/examples/generate-client.spec.ts +22 -0
  8. package/docs/ai/examples/index-events.spec.ts +27 -0
  9. package/docs/ai/examples/rpc-read.spec.ts +15 -0
  10. package/docs/ai/examples/safe-batch.spec.ts +55 -0
  11. package/docs/ai/examples/send-transaction.spec.ts +22 -0
  12. package/docs/ai/examples/storage-read.spec.ts +27 -0
  13. package/docs/ai/examples/token-transfer.spec.ts +22 -0
  14. package/docs/ai/references/contracts.md +111 -0
  15. package/docs/ai/references/deployments.md +98 -0
  16. package/docs/ai/references/events-indexing.md +97 -0
  17. package/docs/ai/references/explorer.md +77 -0
  18. package/docs/ai/references/generation.md +182 -0
  19. package/docs/ai/references/migration-from-ethers-viem.md +43 -0
  20. package/docs/ai/references/rpc-clients.md +115 -0
  21. package/docs/ai/references/safe-erc4337.md +134 -0
  22. package/docs/ai/references/storage.md +93 -0
  23. package/docs/ai/references/tokens-accounts.md +99 -0
  24. package/docs/ai/references/transactions.md +146 -0
  25. package/docs/ai/skill/dequanto/SKILL.md +59 -0
  26. package/lib/cjs/abi/$abi.js +27 -0
  27. package/lib/cjs/abi/$abi.js.map +1 -0
  28. package/lib/cjs/abi/$abiCoder.js +15 -0
  29. package/lib/cjs/abi/$abiCoder.js.map +1 -1
  30. package/lib/cjs/abi/abi-coder.js +1 -1
  31. package/lib/cjs/abi/abi-coder.js.map +1 -1
  32. package/lib/cjs/clients/Web3Client.js +10 -3
  33. package/lib/cjs/clients/Web3Client.js.map +1 -1
  34. package/lib/cjs/clients/Web3ClientFactory.js.map +1 -1
  35. package/lib/cjs/utils/$abiParser.js +85 -1
  36. package/lib/cjs/utils/$abiParser.js.map +1 -1
  37. package/lib/cjs/utils/$hex.js +1 -0
  38. package/lib/cjs/utils/$hex.js.map +1 -1
  39. package/lib/cjs/utils/$require.js +4 -0
  40. package/lib/cjs/utils/$require.js.map +1 -1
  41. package/lib/esm/abi/$abi.js.map +1 -0
  42. package/lib/esm/abi/$abi.mjs +24 -0
  43. package/lib/esm/abi/$abiCoder.js.map +1 -1
  44. package/lib/esm/abi/$abiCoder.mjs +15 -0
  45. package/lib/esm/abi/abi-coder.js.map +1 -1
  46. package/lib/esm/abi/abi-coder.mjs +1 -1
  47. package/lib/esm/clients/Web3Client.js.map +1 -1
  48. package/lib/esm/clients/Web3Client.mjs +10 -3
  49. package/lib/esm/clients/Web3ClientFactory.js.map +1 -1
  50. package/lib/esm/utils/$abiParser.js.map +1 -1
  51. package/lib/esm/utils/$abiParser.mjs +85 -1
  52. package/lib/esm/utils/$hex.js.map +1 -1
  53. package/lib/esm/utils/$hex.mjs +1 -0
  54. package/lib/esm/utils/$require.js.map +1 -1
  55. package/lib/esm/utils/$require.mjs +4 -0
  56. package/lib/types/abi/$abi.d.ts +15 -0
  57. package/lib/types/abi/$abiCoder.d.ts +13 -10
  58. package/lib/types/clients/Web3Client.d.ts +4 -1
  59. package/lib/types/clients/Web3ClientFactory.d.ts +3 -2
  60. package/lib/types/contracts/ContractBase.d.ts +1 -1
  61. package/lib/types/contracts/wrappers/FnRequestWrapper.d.ts +1 -1
  62. package/lib/types/models/TAccount.d.ts +1 -1
  63. package/lib/types/utils/$abiParser.d.ts +6 -0
  64. package/lib/types/utils/$hex.d.ts +1 -0
  65. package/lib/types/utils/$require.d.ts +4 -4
  66. package/package.json +1 -1
  67. package/src/abi/$abi.ts +36 -0
  68. package/src/abi/$abiCoder.ts +31 -10
  69. package/src/abi/abi-coder.ts +1 -3
  70. package/src/clients/Web3Client.ts +16 -6
  71. package/src/clients/Web3ClientFactory.ts +10 -5
  72. package/src/contracts/wrappers/FnRequestWrapper.ts +1 -1
  73. package/src/models/TAccount.ts +1 -1
  74. package/src/utils/$abiParser.ts +93 -1
  75. package/src/utils/$hex.ts +3 -1
  76. package/src/utils/$require.ts +4 -0
@@ -59,11 +59,19 @@ export class Web3Client {
59
59
  return wClient.rpc.request(req);
60
60
  });
61
61
  }
62
+ // Low-level batch for raw RPC calls.
63
+ // For contract batch calls, use batchContractCalls to decode the responses.
62
64
  async batch(requests, options) {
63
65
  return this.with(async (web3) => {
64
66
  return web3.callBatched(requests, options);
65
67
  });
66
68
  }
69
+ // Submit contract calls in a batch and decode the responses.
70
+ async batchContractCalls(requests, options) {
71
+ let reader = new RpcContract(this);
72
+ let result = await reader.batch(requests, options);
73
+ return result;
74
+ }
67
75
  getEventStream(address, abi, event) {
68
76
  let eventAbi = abi.find(x => x.type === 'event' && x.name === event);
69
77
  if (eventAbi == null) {
@@ -124,10 +132,9 @@ export class Web3Client {
124
132
  let result = await reader.request(req);
125
133
  return result;
126
134
  }
135
+ // Alias for batchContractCalls.
127
136
  async readContractBatch(requests, options) {
128
- let reader = new RpcContract(this);
129
- let result = await reader.batch(requests, options);
130
- return result;
137
+ return this.batchContractCalls(requests, options);
131
138
  }
132
139
  getBalance(address, blockNumber = 'latest') {
133
140
  return this.pool.call(async (web3) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Web3ClientFactory.js","sourceRoot":"","sources":["../../../src/clients/Web3ClientFactory.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AAGtB,uEAAoE;AACpE,oDAAiD;AACjD,mDAAgD;AAChD,uDAAoD;AACpD,qDAAkD;AAElD,IAAiB,iBAAiB,CAwBjC;AAxBD,WAAiB,iBAAiB;IAE9B,SAAgB,GAAG,CAAE,QAA4B,EAAE,IAA2B;QAC1E,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;YACxF,IAAI,MAAM,GAAG,cAAE,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,OAAO,MAAM,CAAC;SACjB;QAED,IAAI,OAAO,GAAG,iBAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,QAAQ,kBAAkB,CAAC,CAAA;QAC7E,OAAO,IAAI,6BAAa,CAAC;YACrB,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAClB,CAAC,CAAC;IACP,CAAC;IAfe,qBAAG,MAelB,CAAA;IAED,kEAAkE;IAC3D,KAAK,UAAU,QAAQ,CAAE,QAAqC,EAAE,IAA2B;QAC9F,IAAI,GAAG,GAAG,MAAM,eAAM,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAHqB,0BAAQ,WAG7B,CAAA;AACL,CAAC,EAxBgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAwBjC"}
1
+ {"version":3,"file":"Web3ClientFactory.js","sourceRoot":"","sources":["../../../src/clients/Web3ClientFactory.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AAGtB,uEAAoE;AACpE,oDAAiD;AACjD,mDAAgD;AAChD,uDAAoD;AACpD,qDAAkD;AAGlD,IAAiB,iBAAiB,CA4BjC;AA5BD,WAAiB,iBAAiB;IAE9B,SAAgB,GAAG,CAEhB,QAA4B,EAAE,IAA2B;QACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;YACxF,IAAI,MAAM,GAAG,cAAE,CAAC,OAAO,CAAC,iCAAe,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnE,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC5B,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3C;YACD,OAAO,MAAiB,CAAC;SAC5B;QAED,IAAI,OAAO,GAAG,iBAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,QAAQ,kBAAkB,CAAC,CAAA;QAC7E,OAAO,IAAI,6BAAa,CAAC;YACrB,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAClB,CAAY,CAAC;IAClB,CAAC;IAjBe,qBAAG,MAiBlB,CAAA;IAED,kEAAkE;IAC3D,KAAK,UAAU,QAAQ,CAE3B,QAAqC,EAAE,IAA2B;QACjE,IAAI,GAAG,GAAG,MAAM,eAAM,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAU,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IALqB,0BAAQ,WAK7B,CAAA;AACL,CAAC,EA5BgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA4BjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"$abiParser.js","sourceRoot":"","sources":["../../../src/utils/$abiParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$abiParser.js","sourceRoot":"","sources":["../../../src/utils/$abiParser.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,61 @@ export var $abiParser;
72
72
  };
73
73
  }
74
74
  $abiParser.parseMethod = parseMethod;
75
+ /**
76
+ * Parses Solidity struct declarations into a tuple ABI component.
77
+ * Supports multiple declarations so later structs can reference earlier ones,
78
+ * and returns the ABI component for the last struct in the input.
79
+ */
80
+ function parseStruct(struct) {
81
+ let structs = Parse.structs(struct);
82
+ $require.gt(structs.length, 0, `No structs found in ${struct}`);
83
+ let byName = new Map(structs.map(x => [x.name, x]));
84
+ let cache = new Map();
85
+ function toTuple(name) {
86
+ let cached = cache.get(name);
87
+ if (cached != null) {
88
+ return cached;
89
+ }
90
+ let def = byName.get(name);
91
+ $require.notNull(def, `Struct ${name} is not found`);
92
+ let tuple = {
93
+ name: '',
94
+ type: 'tuple',
95
+ internalType: `struct ${name}`,
96
+ components: []
97
+ };
98
+ cache.set(name, tuple);
99
+ tuple.components = Parse.splitByDelimiter(def.body, ';')
100
+ .map(field => $abiParser.parseArguments(field)[0])
101
+ .map(resolveStructs);
102
+ return tuple;
103
+ }
104
+ function resolveStructs(param) {
105
+ let { type, array } = Parse.extractArray(param.type);
106
+ if (byName.has(type) === false) {
107
+ if (param.components != null) {
108
+ return {
109
+ ...param,
110
+ components: param.components.map(resolveStructs)
111
+ };
112
+ }
113
+ return param;
114
+ }
115
+ let tuple = toTuple(type);
116
+ return {
117
+ name: param.name,
118
+ type: `tuple${array}`,
119
+ internalType: `struct ${type}${array}`,
120
+ components: tuple.components
121
+ };
122
+ }
123
+ let last = structs[structs.length - 1];
124
+ return {
125
+ ...toTuple(last.name),
126
+ name: last.name
127
+ };
128
+ }
129
+ $abiParser.parseStruct = parseStruct;
75
130
  // uint256
76
131
  // address[]
77
132
  // (uint256, uint256)
@@ -223,8 +278,37 @@ var Parse;
223
278
  Parse.goToClosing = goToClosing;
224
279
  const CLOSE_CHARS = {
225
280
  '[': ']',
226
- '(': ')'
281
+ '(': ')',
282
+ '{': '}'
227
283
  };
284
+ function structs(source) {
285
+ let rgx = /\bstruct\s+(?<name>[\w_$]+)\s*\{/g;
286
+ let arr = [];
287
+ let match;
288
+ while ((match = rgx.exec(source)) != null) {
289
+ let openI = source.indexOf('{', match.index);
290
+ let closeI = goToClosing(source, openI, '{');
291
+ arr.push({
292
+ name: match.groups.name,
293
+ body: source.substring(openI + 1, closeI).trim()
294
+ });
295
+ rgx.lastIndex = closeI + 1;
296
+ }
297
+ return arr;
298
+ }
299
+ Parse.structs = structs;
300
+ function extractArray(type) {
301
+ let array = '';
302
+ while (true) {
303
+ let match = /^(?<type>.+?)(?<array>\[[^\]]*\])$/.exec(type);
304
+ if (match == null) {
305
+ return { type, array };
306
+ }
307
+ type = match.groups.type;
308
+ array = `${match.groups.array}${array}`;
309
+ }
310
+ }
311
+ Parse.extractArray = extractArray;
228
312
  })(Parse || (Parse = {}));
229
313
  //# sourceMappingURL=$abiParser.js.map
230
314
  //# sourceMappingURL=$abiParser.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"$hex.js","sourceRoot":"","sources":["../../../src/utils/$hex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$hex.js","sourceRoot":"","sources":["../../../src/utils/$hex.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { $require } from './$require.mjs';
3
3
  export var $hex;
4
4
  (function ($hex) {
5
5
  $hex.ZERO = '0x';
6
+ $hex.ZERO_Bytes32 = '0x0000000000000000000000000000000000000000000000000000000000000000';
6
7
  /**
7
8
  * Adds '00' bytes to the hex string
8
9
  * @param hex
@@ -1 +1 @@
1
- {"version":3,"file":"$require.js","sourceRoot":"","sources":["../../../src/utils/$require.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$require.js","sourceRoot":"","sources":["../../../src/utils/$require.ts"],"names":[],"mappings":"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"}
@@ -211,6 +211,7 @@ export var $require;
211
211
  if (a <= b) {
212
212
  throw new Error(`Expected a(${a}) > b(${b}). ${message}`);
213
213
  }
214
+ return a;
214
215
  }
215
216
  $require.gt = gt;
216
217
  function gte(a, b, message = '') {
@@ -219,6 +220,7 @@ export var $require;
219
220
  if (a < b) {
220
221
  throw new Error(`Expected a(${a}) > b(${b}). ${message}`);
221
222
  }
223
+ return a;
222
224
  }
223
225
  $require.gte = gte;
224
226
  /**
@@ -230,6 +232,7 @@ export var $require;
230
232
  if (a >= b) {
231
233
  throw new Error(`Expected a(${a}) > b(${b}). ${message}`);
232
234
  }
235
+ return a;
233
236
  }
234
237
  $require.lt = lt;
235
238
  function lte(a, b, message = '') {
@@ -238,6 +241,7 @@ export var $require;
238
241
  if (a > b) {
239
242
  throw new Error(`Expected a(${a}) > b(${b}). ${message}`);
240
243
  }
244
+ return a;
241
245
  }
242
246
  $require.lte = lte;
243
247
  })($require || ($require = {}));
@@ -0,0 +1,15 @@
1
+ import { TAbiInput } from '../types/TAbi';
2
+ import { ParamType } from './fragments';
3
+ import { TEth } from '../models/TEth';
4
+ export declare namespace $abi {
5
+ type TAbiType = string | ParamType | TAbiInput;
6
+ type TDecodeOptions = {
7
+ loose?: boolean;
8
+ dynamic?: boolean;
9
+ };
10
+ export function encode(types: TAbiType, values: any): TEth.Hex;
11
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex;
12
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any;
13
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[];
14
+ export {};
15
+ }
@@ -1,16 +1,19 @@
1
- import { TAbiInput } from '../types/TAbi';
1
+ import { TAbiInput, TAbiItem } from '../types/TAbi';
2
2
  import { ParamType } from './fragments';
3
3
  import { TEth } from '../models/TEth';
4
4
  export declare namespace $abiCoder {
5
- function encode(types: (string | ParamType | TAbiInput)[], values: any[]): TEth.Hex;
6
- function encodeSingle(type: (string | ParamType | TAbiInput), value: any): TEth.Hex;
7
- function encodePacked(types: string[], values: any[]): TEth.Hex;
8
- function decode(types: (string | ParamType | TAbiInput)[], hex: string, opts?: {
5
+ type TAbiType = string | ParamType | TAbiInput;
6
+ type TDecodeOptions = {
9
7
  loose?: boolean;
10
8
  dynamic?: boolean;
11
- }): any;
12
- function decodeSingle(type: (string | ParamType | TAbiInput), hex: string, opts?: {
13
- loose?: boolean;
14
- dynamic?: boolean;
15
- }): any;
9
+ };
10
+ export function encode(types: TAbiType, values: any): TEth.Hex;
11
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex;
12
+ export function encodeSingle(type: TAbiType, value: any): TEth.Hex;
13
+ export function encodePacked(types: string[], values: any[]): TEth.Hex;
14
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any;
15
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[];
16
+ export function decodeSingle(type: TAbiType, hex: string, opts?: TDecodeOptions): any;
17
+ export function normalizeType(type: TAbiType): TAbiItem | TAbiType;
18
+ export {};
16
19
  }
@@ -37,6 +37,9 @@ export declare abstract class Web3Client implements IWeb3Client {
37
37
  batch(requests: TRpc.IRpcAction[], options?: {
38
38
  allowErrors?: boolean;
39
39
  }): Promise<any[]>;
40
+ batchContractCalls(requests: TRpcContractCall[], options?: {
41
+ allowErrors?: boolean;
42
+ }): Promise<any[]>;
40
43
  getEventStream(address: TEth.Address, abi: TAbiItem[], event: string): ClientEventsStream<any>;
41
44
  with<TResult>(fn: (wClient: WClient) => Promise<TResult>): Promise<TResult>;
42
45
  getWeb3(options?: IPoolWeb3Request): Promise<void>;
@@ -86,7 +89,7 @@ export declare abstract class Web3Client implements IWeb3Client {
86
89
  chainId: number | string;
87
90
  }, options: IPoolWeb3Request): Promise<void>;
88
91
  sendSignedTransaction(signedTxBuffer: TEth.Hex): PromiseEvent<TEth.TxReceipt>;
89
- sign(address: TEth.Address, message: string): Promise<string>;
92
+ sign(address: TEth.Address, message: string): Promise<TEth.Hex>;
90
93
  signTypedData(address: TEth.Address, typedData: DataLike<RpcTypes.TypedData>): Promise<TEth.Hex>;
91
94
  sendTransaction(data: TEth.TxLike): PromiseEvent<TEth.TxReceipt>;
92
95
  getBlockNumber(): Promise<number>;
@@ -1,8 +1,9 @@
1
1
  import { TPlatform } from '../models/TPlatform';
2
2
  import { IWeb3EndpointOptions } from './interfaces/IWeb3EndpointOptions';
3
3
  import { EvmWeb3Client } from './EvmWeb3Client';
4
+ import type { HardhatWeb3Client } from '../hardhat/HardhatWeb3Client';
4
5
  export declare namespace Web3ClientFactory {
5
- function get(platform: TPlatform | number, opts?: IWeb3EndpointOptions): import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client;
6
+ function get<TClient extends EvmWeb3Client | HardhatWeb3Client = EvmWeb3Client>(platform: TPlatform | number, opts?: IWeb3EndpointOptions): TClient;
6
7
  /** Same as the sync variant, but ensures the config is fetched */
7
- function getAsync(platform: TPlatform | string | number, opts?: IWeb3EndpointOptions): Promise<import("../hardhat/HardhatWeb3Client").HardhatWeb3Client | EvmWeb3Client>;
8
+ function getAsync<TClient extends EvmWeb3Client | HardhatWeb3Client = EvmWeb3Client>(platform: TPlatform | string | number, opts?: IWeb3EndpointOptions): Promise<TClient>;
8
9
  }
@@ -56,7 +56,7 @@ export declare abstract class ContractBase {
56
56
  from?: TAddress;
57
57
  }): any;
58
58
  $gas(): any;
59
- $req(): { [K in keyof this]: this[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<this[K]>) => ContractReaderUtils.IContractReadParams<Awaited<ReturnType<this[K]>>> : never; };
59
+ $req(): { [K in keyof this]: this[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<this[K]>) => Promise<ContractReaderUtils.IContractReadParams<Awaited<ReturnType<this[K]>>>> : never; };
60
60
  $signed(builderConfig?: ITxBuilderOptions, writerConfig?: ITxWriterOptions): any;
61
61
  private $signedCreate;
62
62
  $receipt<T extends this>(this: T): T;
@@ -4,6 +4,6 @@ export declare namespace FnRequestWrapper {
4
4
  function create<T extends ContractBase>($base: T): TRequests<T>;
5
5
  }
6
6
  type TRequests<T extends ContractBase> = {
7
- [K in keyof T]: T[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<T[K]>) => ContractReaderUtils.IContractReadParams<Awaited<ReturnType<T[K]>>> : never;
7
+ [K in keyof T]: T[K] extends (...any: any[]) => Promise<any> ? (...params: Parameters<T[K]>) => Promise<ContractReaderUtils.IContractReadParams<Awaited<ReturnType<T[K]>>>> : never;
8
8
  };
9
9
  export {};
@@ -45,7 +45,7 @@ export interface TimelockAccount extends IAccount {
45
45
  type: 'timelock';
46
46
  provider?: 'default' | string;
47
47
  platform: TPlatform;
48
- operator: EoAccount;
48
+ operator: IAccount;
49
49
  }
50
50
  export type TAccount = string | IAccount | EoAccount | SafeAccount | Erc4337Account;
51
51
  export {};
@@ -8,5 +8,11 @@ export declare namespace $abiParser {
8
8
  * function foo(uint256) returns (address)
9
9
  */
10
10
  function parseMethod(methodAbi: string): TAbiItem;
11
+ /**
12
+ * Parses Solidity struct declarations into a tuple ABI component.
13
+ * Supports multiple declarations so later structs can reference earlier ones,
14
+ * and returns the ABI component for the last struct in the input.
15
+ */
16
+ function parseStruct(struct: string): TAbiItem;
11
17
  function parseArguments(line: string): TAbiInput[];
12
18
  }
@@ -1,6 +1,7 @@
1
1
  import { TEth } from '../models/TEth';
2
2
  export declare namespace $hex {
3
3
  const ZERO = "0x";
4
+ const ZERO_Bytes32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
4
5
  /**
5
6
  * Adds '00' bytes to the hex string
6
7
  * @param hex
@@ -39,11 +39,11 @@ export declare namespace $require {
39
39
  /**
40
40
  * must be a > b, throws when a <= b
41
41
  */
42
- function gt<T = number | bigint>(a: T, b: T, message?: string): void;
43
- function gte<T = number | bigint>(a: T, b: T, message?: string): void;
42
+ function gt<T = number | bigint>(a: T, b: T, message?: string): T;
43
+ function gte<T = number | bigint>(a: T, b: T, message?: string): T;
44
44
  /**
45
45
  * must be a < b, throws when a >= b
46
46
  */
47
- function lt<T = number | bigint>(a: T, b: T, message?: string): void;
48
- function lte<T = number | bigint>(a: T, b: T, message?: string): void;
47
+ function lt<T = number | bigint>(a: T, b: T, message?: string): T;
48
+ function lte<T = number | bigint>(a: T, b: T, message?: string): T;
49
49
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.2.47",
3
+ "version": "0.2.49",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -0,0 +1,36 @@
1
+ import { TAbiInput } from '@dequanto/types/TAbi';
2
+ import { ParamType } from './fragments';
3
+ import { TEth } from '@dequanto/models/TEth';
4
+ import { $abiCoder } from './$abiCoder';
5
+
6
+ export namespace $abi {
7
+ type TAbiType = string | ParamType | TAbiInput;
8
+ type TDecodeOptions = {
9
+ loose?: boolean
10
+ dynamic?: boolean
11
+ };
12
+
13
+ export function encode(types: TAbiType, values: any): TEth.Hex
14
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex
15
+ export function encode(types: TAbiType | TAbiType[], values: any | any[]): TEth.Hex {
16
+ const isSingle = Array.isArray(types) === false;
17
+ const arr = ensureTypes(types);
18
+ const hex = $abiCoder.encode(arr, isSingle ? [ values ] : values);
19
+ return hex;
20
+ }
21
+
22
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any
23
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[]
24
+ export function decode(types: TAbiType | TAbiType[], hex: string, opts?: TDecodeOptions): any {
25
+ const isSingle = Array.isArray(types) === false;
26
+ const arr = ensureTypes(types);
27
+ let result = $abiCoder.decode(arr, hex, opts);
28
+
29
+ return isSingle ? result[0] : result;
30
+ }
31
+
32
+ function ensureTypes (types: TAbiType | TAbiType[]): TAbiType[] {
33
+ let arr = Array.isArray(types) ? types : [ types ];
34
+ return arr.map($abiCoder.normalizeType);
35
+ }
36
+ }
@@ -6,11 +6,24 @@ import { TEth } from '@dequanto/models/TEth';
6
6
  import { $abiParser } from '@dequanto/utils/$abiParser';
7
7
 
8
8
  export namespace $abiCoder {
9
- export function encode(types: (string | ParamType | TAbiInput)[], values: any[]): TEth.Hex {
9
+
10
+ type TAbiType = string | ParamType | TAbiInput;
11
+ type TDecodeOptions = {
12
+ loose?: boolean
13
+ dynamic?: boolean
14
+ };
15
+
16
+ export function encode(types: TAbiType, values: any): TEth.Hex
17
+ export function encode(types: TAbiType[], values: any[]): TEth.Hex
18
+ export function encode(types: TAbiType | TAbiType[], values: any | any[]): TEth.Hex {
19
+ if (Array.isArray(types) == false) {
20
+ return encodeSingle(types, values)
21
+ }
10
22
  let coder = new AbiCoder();
11
23
  return coder.encode(types, values) as TEth.Hex;
12
24
  }
13
- export function encodeSingle(type: (string | ParamType | TAbiInput), value: any): TEth.Hex {
25
+ export function encodeSingle(type: TAbiType, value: any): TEth.Hex {
26
+ type = normalizeType(type);
14
27
  let coder = new AbiCoder();
15
28
  return coder.encodeSingle(type, value) as TEth.Hex;
16
29
  }
@@ -19,20 +32,20 @@ export namespace $abiCoder {
19
32
  return solidityPacked(types, values) as TEth.Hex;
20
33
  }
21
34
 
22
- export function decode(types: (string | ParamType | TAbiInput)[], hex: string, opts?: {
23
- loose?: boolean
24
- dynamic?: boolean
25
- }): any {
35
+ export function decode(types: TAbiType, hex: string, opts?: TDecodeOptions): any
36
+ export function decode(types: TAbiType[], hex: string, opts?: TDecodeOptions): any[]
37
+ export function decode(types: TAbiType| TAbiType[], hex: string, opts?: TDecodeOptions): any {
38
+ if (Array.isArray(types) == false) {
39
+ return decodeSingle(types, hex, opts)
40
+ }
26
41
  let coder = new AbiCoder();
27
42
  let arr = coder.decode(types, hex, opts);
28
43
  return arr.map((x, i) => {
29
44
  return unwrap(types[i] as TAbiInput, x);
30
45
  });
31
46
  }
32
- export function decodeSingle(type: (string | ParamType | TAbiInput), hex: string, opts?: {
33
- loose?: boolean
34
- dynamic?: boolean
35
- }): any {
47
+ export function decodeSingle(type: TAbiType, hex: string, opts?: TDecodeOptions): any {
48
+ type = normalizeType(type);
36
49
  let coder = new AbiCoder();
37
50
  let x = coder.decodeSingle(type, hex, opts);
38
51
  return unwrap(type as TAbiInput, x);
@@ -72,4 +85,12 @@ export namespace $abiCoder {
72
85
  }
73
86
  return mixValue;
74
87
  }
88
+
89
+
90
+ export function normalizeType (type: TAbiType) {
91
+ if (typeof type === 'string' && /\bstruct /.test(type)) {
92
+ return $abiParser.parseStruct(type);
93
+ }
94
+ return type;
95
+ }
75
96
  }
@@ -116,9 +116,7 @@ export class AbiCoder {
116
116
  * @returns DataHexstring
117
117
  */
118
118
  encodeSingle(type: string | ParamType | TAbiInput, value: any): string {
119
-
120
- let coder = this.#getCoder(ParamType.from(type));
121
-
119
+ const coder = this.#getCoder(ParamType.from(type));
122
120
  const writer = new Writer();
123
121
  coder.encode(writer, value);
124
122
  return writer.data;
@@ -97,6 +97,8 @@ export abstract class Web3Client implements IWeb3Client {
97
97
  });
98
98
  }
99
99
 
100
+ // Low-level batch for raw RPC calls.
101
+ // For contract batch calls, use batchContractCalls to decode the responses.
100
102
  async batch(requests: TRpc.IRpcAction[], options?: {
101
103
  allowErrors?: boolean
102
104
  }): Promise<any[]> {
@@ -105,6 +107,15 @@ export abstract class Web3Client implements IWeb3Client {
105
107
  });
106
108
  }
107
109
 
110
+ // Submit contract calls in a batch and decode the responses.
111
+ async batchContractCalls(requests: TRpcContractCall[], options?: {
112
+ allowErrors?: boolean
113
+ }) {
114
+ let reader = new RpcContract(this);
115
+ let result = await reader.batch(requests, options);
116
+ return result;
117
+ }
118
+
108
119
  getEventStream(address: TEth.Address, abi: TAbiItem[], event: string) {
109
120
  let eventAbi = abi.find(x => x.type === 'event' && x.name === event);
110
121
  if (eventAbi == null) {
@@ -189,12 +200,11 @@ export abstract class Web3Client implements IWeb3Client {
189
200
  return result;
190
201
  }
191
202
 
203
+ // Alias for batchContractCalls.
192
204
  async readContractBatch(requests: TRpcContractCall[], options?: {
193
205
  allowErrors?: boolean
194
206
  }) {
195
- let reader = new RpcContract(this);
196
- let result = await reader.batch(requests, options);
197
- return result;
207
+ return this.batchContractCalls(requests, options);
198
208
  }
199
209
 
200
210
 
@@ -412,12 +422,12 @@ export abstract class Web3Client implements IWeb3Client {
412
422
  // return tx;
413
423
  // }
414
424
 
415
- async sign(address: TEth.Address, message: string): Promise<string> {
425
+ async sign(address: TEth.Address, message: string): Promise<TEth.Hex> {
416
426
  if (this.wallet.isConnected(address)) {
417
- return this.wallet.eth_sign(address, message);
427
+ return this.wallet.eth_sign(address, message) as Promise<TEth.Hex>;
418
428
  }
419
429
  return this.pool.call(wClient => {
420
- return wClient.sign(address, message);
430
+ return wClient.sign(address, message) as Promise<TEth.Hex>;
421
431
  }, {
422
432
  wallet: true
423
433
  });