dequanto 0.2.7 → 0.2.12

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 (67) hide show
  1. package/lib/cjs/clients/debug/ClientDebugMethods.js +3 -13
  2. package/lib/cjs/clients/debug/ClientDebugMethods.js.map +1 -1
  3. package/lib/cjs/hardhat/HardhatProvider.js +7 -2
  4. package/lib/cjs/hardhat/HardhatProvider.js.map +1 -1
  5. package/lib/cjs/hardhat/HardhatWeb3Client.js +4 -0
  6. package/lib/cjs/hardhat/HardhatWeb3Client.js.map +1 -1
  7. package/lib/cjs/txs/TxDataBuilder.js +20 -0
  8. package/lib/cjs/txs/TxDataBuilder.js.map +1 -1
  9. package/lib/cjs/utils/$color.js +2 -2
  10. package/lib/cjs/utils/$color.js.map +1 -1
  11. package/lib/cjs/utils/$contract.js +10 -0
  12. package/lib/cjs/utils/$contract.js.map +1 -1
  13. package/lib/cjs/utils/$hex.js +1 -1
  14. package/lib/cjs/utils/$hex.js.map +1 -1
  15. package/lib/cjs/utils/$require.js +7 -0
  16. package/lib/cjs/utils/$require.js.map +1 -1
  17. package/lib/cjs/utils/$sig.js +1 -1
  18. package/lib/cjs/utils/$sig.js.map +1 -1
  19. package/lib/cjs/utils/$traces.js +492 -0
  20. package/lib/cjs/utils/$traces.js.map +1 -0
  21. package/lib/esm/clients/debug/ClientDebugMethods.js.map +1 -1
  22. package/lib/esm/clients/debug/ClientDebugMethods.mjs +3 -13
  23. package/lib/esm/hardhat/HardhatProvider.js.map +1 -1
  24. package/lib/esm/hardhat/HardhatProvider.mjs +7 -2
  25. package/lib/esm/hardhat/HardhatWeb3Client.js.map +1 -1
  26. package/lib/esm/hardhat/HardhatWeb3Client.mjs +4 -0
  27. package/lib/esm/txs/TxDataBuilder.js.map +1 -1
  28. package/lib/esm/txs/TxDataBuilder.mjs +20 -0
  29. package/lib/esm/utils/$color.js.map +1 -1
  30. package/lib/esm/utils/$color.mjs +1 -1
  31. package/lib/esm/utils/$contract.js.map +1 -1
  32. package/lib/esm/utils/$contract.mjs +10 -0
  33. package/lib/esm/utils/$hex.js.map +1 -1
  34. package/lib/esm/utils/$hex.mjs +1 -1
  35. package/lib/esm/utils/$require.js.map +1 -1
  36. package/lib/esm/utils/$require.mjs +7 -0
  37. package/lib/esm/utils/$sig.js.map +1 -1
  38. package/lib/esm/utils/$sig.mjs +1 -1
  39. package/lib/esm/utils/$traces.js.map +1 -0
  40. package/lib/esm/utils/$traces.mjs +486 -0
  41. package/lib/types/clients/debug/ClientDebugMethods.d.ts +18 -0
  42. package/lib/types/clients/interfaces/IWeb3Client.d.ts +4 -0
  43. package/lib/types/models/TEth.d.ts +2 -2
  44. package/lib/types/utils/$color.d.ts +62 -0
  45. package/lib/types/utils/$contract.d.ts +8 -0
  46. package/lib/types/utils/$require.d.ts +2 -0
  47. package/lib/types/utils/$traces.d.ts +18 -0
  48. package/package.json +1 -1
  49. package/src/clients/debug/ClientDebugMethods.ts +23 -14
  50. package/src/clients/interfaces/IWeb3Client.ts +4 -0
  51. package/src/hardhat/HardhatProvider.ts +8 -3
  52. package/src/hardhat/HardhatWeb3Client.ts +4 -0
  53. package/src/models/TEth.ts +2 -2
  54. package/src/txs/TxDataBuilder.ts +20 -0
  55. package/src/types/TAbi.ts +1 -1
  56. package/src/utils/$color.ts +1 -1
  57. package/src/utils/$contract.ts +17 -1
  58. package/src/utils/$hex.ts +1 -1
  59. package/src/utils/$require.ts +9 -0
  60. package/src/utils/$sig.ts +1 -1
  61. package/src/utils/$traces.ts +600 -0
  62. package/lib/cjs/utils/$sign.js +0 -118
  63. package/lib/cjs/utils/$sign.js.map +0 -1
  64. package/lib/esm/utils/$sign.js.map +0 -1
  65. package/lib/esm/utils/$sign.mjs +0 -117
  66. package/lib/types/utils/$sign.d.ts +0 -1
  67. package/src/utils/$sign.ts +0 -136
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
4
- // export namespace $sign {
5
- // export type TSignature = {
6
- // v: string
7
- // r: string
8
- // s: string
9
- // signature?: string
10
- // signatureVRS?: string
11
- // };
12
- // /** Adds "Ethereum Signed Message" */
13
- // export async function signEIPHashed (client: Web3Client, message: string, account: EoAccount, accountPss?: string): Promise<TSignature> {
14
- // const web3 = await client.getWeb3();
15
- // //const buffer = toBuffer(message);
16
- // //const hash = hashPersonalMessage(buffer as Buffer);
17
- // const str = message;
18
- // const key = account.key != null
19
- // ? account.key
20
- // : null;
21
- // if (key != null) {
22
- // let sig = web3.eth.accounts.sign(str, key);
23
- // let r = sig.r.substring(2)
24
- // let s = sig.s.substring(2)
25
- // let v = sig.v.substring(2);
26
- // return toSignature({ r, s, v });
27
- // }
28
- // let signature = accountPss == null
29
- // ? await web3.eth.sign(message.toString(), account.address)
30
- // : await web3.eth.personal.sign(message.toString(), account.address, accountPss);
31
- // return toSignature(splitSignature(signature));
32
- // }
33
- // export async function signTx (client: Web3Client, tx: TEth.Tx, account: EoAccount, accountPss?: string): Promise<ReturnType<typeof splitSignature>> {
34
- // const web3 = await client.getWeb3();
35
- // const key = account.key != null
36
- // ? account.key
37
- // : null;
38
- // if (key != null) {
39
- // if (typeof tx.chainId === 'string') {
40
- // // chainIDBN in @ethereumjs supports HEX only if base is specified, otherwise 10 base is taken, and hex numbers are wrongly parsed to a number
41
- // tx.chainId = Number(tx.chainId);
42
- // }
43
- // let sig = await web3.eth.accounts.signTransaction(tx, key);
44
- // return toSignature(sig);
45
- // }
46
- // let signed = accountPss == null
47
- // ? await web3.eth.signTransaction(tx)
48
- // : await web3.eth.personal.signTransaction(tx, accountPss);
49
- // return toSignature(signed.tx);
50
- // }
51
- // export async function serializeTx (tx, signature: string | TSignature): Promise<string> {
52
- // let sig = getSignature(signature);
53
- // if (Number(sig.v) === 0) {
54
- // // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md
55
- // sig.v = '0x25';
56
- // }
57
- // return ethers.utils.serializeTransaction(tx, {
58
- // ...sig,
59
- // v: Number(sig.v)
60
- // });
61
- // }
62
- // export async function recoverTx(client: Web3Client, tx: TransactionConfig, signature: string | TSignature) {
63
- // const web3 = await client.getWeb3();
64
- // const sig = getSignature(signature);
65
- // const rawTransaction = await serializeTx(tx, sig);
66
- // return web3.eth.accounts.recoverTransaction(rawTransaction);
67
- // }
68
- // function splitSignature (signature: string): TSignature {
69
- // let r = signature.substring(2, 2 + 64);
70
- // let s = signature.substring(2 + 64, 2 + 64 + 64);
71
- // let v = signature.substring(2 + 64 + 64);
72
- // return { r, s ,v };
73
- // }
74
- // function toSignature (sign: { r, s, v }) {
75
- // let { r, s, v } = sign;
76
- // r = remove0x(r);
77
- // s = remove0x(s);
78
- // if (typeof v === 'number') {
79
- // v = v.toString(16);
80
- // }
81
- // v = remove0x(v);
82
- // return {
83
- // v: `0x${v}`,
84
- // r: `0x${r}`,
85
- // s: `0x${s}`,
86
- // signature: `0x${r}${s}${v}`,
87
- // signatureVRS: `0x${v}${r}${s}`
88
- // }
89
- // }
90
- // function remove0x(hex:string) {
91
- // return hex.startsWith('0x') ? hex.substring(2) : hex;
92
- // }
93
- // function toBuffer (message: string | TBytes, opts?: { encoding?: 'utf8' | 'hex' }) {
94
- // if (typeof message === 'string') {
95
- // let encoding = opts?.encoding;
96
- // if (encoding == null && $is.Hex(message)) {
97
- // encoding = 'hex';
98
- // message = message.substring(2);
99
- // }
100
- // if (encoding === 'hex') {
101
- // return $buffer.fromHex(message);
102
- // }
103
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
104
- // }
105
- // return message;
106
- // }
107
- // function getSignature(signature: string | TSignature): TSignature {
108
- // let sig = typeof signature === 'string'
109
- // ? splitSignature(signature)
110
- // : signature;
111
- // if (sig?.r == null || sig?.v == null || sig?.s == null) {
112
- // throw new Error(`Invalid signature ${JSON.stringify(sig)}`);
113
- // }
114
- // return sig;
115
- // }
116
- // }
117
- //# sourceMappingURL=$sign.js.map
118
- //# sourceMappingURL=$sign.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$sign.js","sourceRoot":"","sources":["../../../src/utils/$sign.ts"],"names":[],"mappings":";;AAMA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAEjE,2BAA2B;AAC3B,iCAAiC;AACjC,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,6BAA6B;AAC7B,gCAAgC;AAChC,SAAS;AAET,6CAA6C;AAC7C,gJAAgJ;AAChJ,+CAA+C;AAC/C,8CAA8C;AAC9C,gEAAgE;AAChE,+BAA+B;AAC/B,0CAA0C;AAC1C,4BAA4B;AAC5B,sBAAsB;AAEtB,6BAA6B;AAC7B,0DAA0D;AAC1D,yCAAyC;AACzC,yCAAyC;AACzC,0CAA0C;AAC1C,+CAA+C;AAC/C,YAAY;AAEZ,8CAA8C;AAC9C,yEAAyE;AACzE,+FAA+F;AAE/F,yDAAyD;AAEzD,QAAQ;AAER,4JAA4J;AAC5J,+CAA+C;AAC/C,0CAA0C;AAC1C,4BAA4B;AAC5B,sBAAsB;AAEtB,6BAA6B;AAC7B,oDAAoD;AACpD,iKAAiK;AACjK,mDAAmD;AACnD,gBAAgB;AAChB,0EAA0E;AAC1E,uCAAuC;AACvC,YAAY;AAEZ,2CAA2C;AAC3C,mDAAmD;AACnD,yEAAyE;AAEzE,yCAAyC;AACzC,QAAQ;AAER,gGAAgG;AAChG,6CAA6C;AAC7C,qCAAqC;AACrC,8EAA8E;AAC9E,8BAA8B;AAC9B,YAAY;AACZ,yDAAyD;AACzD,sBAAsB;AACtB,+BAA+B;AAC/B,cAAc;AACd,QAAQ;AACR,mHAAmH;AACnH,+CAA+C;AAC/C,+CAA+C;AAC/C,6DAA6D;AAC7D,uEAAuE;AACvE,QAAQ;AAER,gEAAgE;AAChE,kDAAkD;AAClD,4DAA4D;AAC5D,oDAAoD;AACpD,8BAA8B;AAC9B,QAAQ;AACR,iDAAiD;AACjD,kCAAkC;AAClC,2BAA2B;AAC3B,2BAA2B;AAC3B,uCAAuC;AACvC,kCAAkC;AAClC,YAAY;AACZ,2BAA2B;AAC3B,mBAAmB;AACnB,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B,2CAA2C;AAC3C,6CAA6C;AAC7C,YAAY;AACZ,QAAQ;AACR,sCAAsC;AACtC,gEAAgE;AAChE,QAAQ;AAER,2FAA2F;AAC3F,6CAA6C;AAC7C,6CAA6C;AAC7C,0DAA0D;AAC1D,oCAAoC;AACpC,kDAAkD;AAClD,gBAAgB;AAChB,wCAAwC;AACxC,mDAAmD;AACnD,gBAAgB;AAChB,4EAA4E;AAC5E,YAAY;AACZ,0BAA0B;AAC1B,QAAQ;AAGR,0EAA0E;AAC1E,kDAAkD;AAClD,8CAA8C;AAC9C,+BAA+B;AAE/B,oEAAoE;AACpE,2EAA2E;AAC3E,YAAY;AACZ,sBAAsB;AACtB,QAAQ;AACR,IAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"$sign.js","sourceRoot":"","sources":["../../../src/utils/$sign.ts"],"names":[],"mappings":";;AAMA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAEjE,2BAA2B;AAC3B,iCAAiC;AACjC,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,6BAA6B;AAC7B,gCAAgC;AAChC,SAAS;AAET,6CAA6C;AAC7C,gJAAgJ;AAChJ,+CAA+C;AAC/C,8CAA8C;AAC9C,gEAAgE;AAChE,+BAA+B;AAC/B,0CAA0C;AAC1C,4BAA4B;AAC5B,sBAAsB;AAEtB,6BAA6B;AAC7B,0DAA0D;AAC1D,yCAAyC;AACzC,yCAAyC;AACzC,0CAA0C;AAC1C,+CAA+C;AAC/C,YAAY;AAEZ,8CAA8C;AAC9C,yEAAyE;AACzE,+FAA+F;AAE/F,yDAAyD;AAEzD,QAAQ;AAER,4JAA4J;AAC5J,+CAA+C;AAC/C,0CAA0C;AAC1C,4BAA4B;AAC5B,sBAAsB;AAEtB,6BAA6B;AAC7B,oDAAoD;AACpD,iKAAiK;AACjK,mDAAmD;AACnD,gBAAgB;AAChB,0EAA0E;AAC1E,uCAAuC;AACvC,YAAY;AAEZ,2CAA2C;AAC3C,mDAAmD;AACnD,yEAAyE;AAEzE,yCAAyC;AACzC,QAAQ;AAER,gGAAgG;AAChG,6CAA6C;AAC7C,qCAAqC;AACrC,8EAA8E;AAC9E,8BAA8B;AAC9B,YAAY;AACZ,yDAAyD;AACzD,sBAAsB;AACtB,+BAA+B;AAC/B,cAAc;AACd,QAAQ;AACR,mHAAmH;AACnH,+CAA+C;AAC/C,+CAA+C;AAC/C,6DAA6D;AAC7D,uEAAuE;AACvE,QAAQ;AAER,gEAAgE;AAChE,kDAAkD;AAClD,4DAA4D;AAC5D,oDAAoD;AACpD,8BAA8B;AAC9B,QAAQ;AACR,iDAAiD;AACjD,kCAAkC;AAClC,2BAA2B;AAC3B,2BAA2B;AAC3B,uCAAuC;AACvC,kCAAkC;AAClC,YAAY;AACZ,2BAA2B;AAC3B,mBAAmB;AACnB,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B,2CAA2C;AAC3C,6CAA6C;AAC7C,YAAY;AACZ,QAAQ;AACR,sCAAsC;AACtC,gEAAgE;AAChE,QAAQ;AAER,2FAA2F;AAC3F,6CAA6C;AAC7C,6CAA6C;AAC7C,0DAA0D;AAC1D,oCAAoC;AACpC,kDAAkD;AAClD,gBAAgB;AAChB,wCAAwC;AACxC,mDAAmD;AACnD,gBAAgB;AAChB,4EAA4E;AAC5E,YAAY;AACZ,0BAA0B;AAC1B,QAAQ;AAGR,0EAA0E;AAC1E,kDAAkD;AAClD,8CAA8C;AAC9C,+BAA+B;AAE/B,oEAAoE;AACpE,2EAA2E;AAC3E,YAAY;AACZ,sBAAsB;AACtB,QAAQ;AACR,IAAI"}
@@ -1,117 +0,0 @@
1
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
2
- export {};
3
- // export namespace $sign {
4
- // export type TSignature = {
5
- // v: string
6
- // r: string
7
- // s: string
8
- // signature?: string
9
- // signatureVRS?: string
10
- // };
11
- // /** Adds "Ethereum Signed Message" */
12
- // export async function signEIPHashed (client: Web3Client, message: string, account: EoAccount, accountPss?: string): Promise<TSignature> {
13
- // const web3 = await client.getWeb3();
14
- // //const buffer = toBuffer(message);
15
- // //const hash = hashPersonalMessage(buffer as Buffer);
16
- // const str = message;
17
- // const key = account.key != null
18
- // ? account.key
19
- // : null;
20
- // if (key != null) {
21
- // let sig = web3.eth.accounts.sign(str, key);
22
- // let r = sig.r.substring(2)
23
- // let s = sig.s.substring(2)
24
- // let v = sig.v.substring(2);
25
- // return toSignature({ r, s, v });
26
- // }
27
- // let signature = accountPss == null
28
- // ? await web3.eth.sign(message.toString(), account.address)
29
- // : await web3.eth.personal.sign(message.toString(), account.address, accountPss);
30
- // return toSignature(splitSignature(signature));
31
- // }
32
- // export async function signTx (client: Web3Client, tx: TEth.Tx, account: EoAccount, accountPss?: string): Promise<ReturnType<typeof splitSignature>> {
33
- // const web3 = await client.getWeb3();
34
- // const key = account.key != null
35
- // ? account.key
36
- // : null;
37
- // if (key != null) {
38
- // if (typeof tx.chainId === 'string') {
39
- // // chainIDBN in @ethereumjs supports HEX only if base is specified, otherwise 10 base is taken, and hex numbers are wrongly parsed to a number
40
- // tx.chainId = Number(tx.chainId);
41
- // }
42
- // let sig = await web3.eth.accounts.signTransaction(tx, key);
43
- // return toSignature(sig);
44
- // }
45
- // let signed = accountPss == null
46
- // ? await web3.eth.signTransaction(tx)
47
- // : await web3.eth.personal.signTransaction(tx, accountPss);
48
- // return toSignature(signed.tx);
49
- // }
50
- // export async function serializeTx (tx, signature: string | TSignature): Promise<string> {
51
- // let sig = getSignature(signature);
52
- // if (Number(sig.v) === 0) {
53
- // // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md
54
- // sig.v = '0x25';
55
- // }
56
- // return ethers.utils.serializeTransaction(tx, {
57
- // ...sig,
58
- // v: Number(sig.v)
59
- // });
60
- // }
61
- // export async function recoverTx(client: Web3Client, tx: TransactionConfig, signature: string | TSignature) {
62
- // const web3 = await client.getWeb3();
63
- // const sig = getSignature(signature);
64
- // const rawTransaction = await serializeTx(tx, sig);
65
- // return web3.eth.accounts.recoverTransaction(rawTransaction);
66
- // }
67
- // function splitSignature (signature: string): TSignature {
68
- // let r = signature.substring(2, 2 + 64);
69
- // let s = signature.substring(2 + 64, 2 + 64 + 64);
70
- // let v = signature.substring(2 + 64 + 64);
71
- // return { r, s ,v };
72
- // }
73
- // function toSignature (sign: { r, s, v }) {
74
- // let { r, s, v } = sign;
75
- // r = remove0x(r);
76
- // s = remove0x(s);
77
- // if (typeof v === 'number') {
78
- // v = v.toString(16);
79
- // }
80
- // v = remove0x(v);
81
- // return {
82
- // v: `0x${v}`,
83
- // r: `0x${r}`,
84
- // s: `0x${s}`,
85
- // signature: `0x${r}${s}${v}`,
86
- // signatureVRS: `0x${v}${r}${s}`
87
- // }
88
- // }
89
- // function remove0x(hex:string) {
90
- // return hex.startsWith('0x') ? hex.substring(2) : hex;
91
- // }
92
- // function toBuffer (message: string | TBytes, opts?: { encoding?: 'utf8' | 'hex' }) {
93
- // if (typeof message === 'string') {
94
- // let encoding = opts?.encoding;
95
- // if (encoding == null && $is.Hex(message)) {
96
- // encoding = 'hex';
97
- // message = message.substring(2);
98
- // }
99
- // if (encoding === 'hex') {
100
- // return $buffer.fromHex(message);
101
- // }
102
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
103
- // }
104
- // return message;
105
- // }
106
- // function getSignature(signature: string | TSignature): TSignature {
107
- // let sig = typeof signature === 'string'
108
- // ? splitSignature(signature)
109
- // : signature;
110
- // if (sig?.r == null || sig?.v == null || sig?.s == null) {
111
- // throw new Error(`Invalid signature ${JSON.stringify(sig)}`);
112
- // }
113
- // return sig;
114
- // }
115
- // }
116
- //# sourceMappingURL=$sign.js.map
117
- //# sourceMappingURL=$sign.ts.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,136 +0,0 @@
1
- import { Web3Client } from '@dequanto/clients/Web3Client';
2
- import { EoAccount } from '@dequanto/models/TAccount';
3
- import { $buffer, TBytes } from './$buffer';
4
- import { $is } from './$is';
5
- import { TEth } from '@dequanto/models/TEth';
6
-
7
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
8
-
9
- // export namespace $sign {
10
- // export type TSignature = {
11
- // v: string
12
- // r: string
13
- // s: string
14
- // signature?: string
15
- // signatureVRS?: string
16
- // };
17
-
18
- // /** Adds "Ethereum Signed Message" */
19
- // export async function signEIPHashed (client: Web3Client, message: string, account: EoAccount, accountPss?: string): Promise<TSignature> {
20
- // const web3 = await client.getWeb3();
21
- // //const buffer = toBuffer(message);
22
- // //const hash = hashPersonalMessage(buffer as Buffer);
23
- // const str = message;
24
- // const key = account.key != null
25
- // ? account.key
26
- // : null;
27
-
28
- // if (key != null) {
29
- // let sig = web3.eth.accounts.sign(str, key);
30
- // let r = sig.r.substring(2)
31
- // let s = sig.s.substring(2)
32
- // let v = sig.v.substring(2);
33
- // return toSignature({ r, s, v });
34
- // }
35
-
36
- // let signature = accountPss == null
37
- // ? await web3.eth.sign(message.toString(), account.address)
38
- // : await web3.eth.personal.sign(message.toString(), account.address, accountPss);
39
-
40
- // return toSignature(splitSignature(signature));
41
-
42
- // }
43
-
44
- // export async function signTx (client: Web3Client, tx: TEth.Tx, account: EoAccount, accountPss?: string): Promise<ReturnType<typeof splitSignature>> {
45
- // const web3 = await client.getWeb3();
46
- // const key = account.key != null
47
- // ? account.key
48
- // : null;
49
-
50
- // if (key != null) {
51
- // if (typeof tx.chainId === 'string') {
52
- // // chainIDBN in @ethereumjs supports HEX only if base is specified, otherwise 10 base is taken, and hex numbers are wrongly parsed to a number
53
- // tx.chainId = Number(tx.chainId);
54
- // }
55
- // let sig = await web3.eth.accounts.signTransaction(tx, key);
56
- // return toSignature(sig);
57
- // }
58
-
59
- // let signed = accountPss == null
60
- // ? await web3.eth.signTransaction(tx)
61
- // : await web3.eth.personal.signTransaction(tx, accountPss);
62
-
63
- // return toSignature(signed.tx);
64
- // }
65
-
66
- // export async function serializeTx (tx, signature: string | TSignature): Promise<string> {
67
- // let sig = getSignature(signature);
68
- // if (Number(sig.v) === 0) {
69
- // // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md
70
- // sig.v = '0x25';
71
- // }
72
- // return ethers.utils.serializeTransaction(tx, {
73
- // ...sig,
74
- // v: Number(sig.v)
75
- // });
76
- // }
77
- // export async function recoverTx(client: Web3Client, tx: TransactionConfig, signature: string | TSignature) {
78
- // const web3 = await client.getWeb3();
79
- // const sig = getSignature(signature);
80
- // const rawTransaction = await serializeTx(tx, sig);
81
- // return web3.eth.accounts.recoverTransaction(rawTransaction);
82
- // }
83
-
84
- // function splitSignature (signature: string): TSignature {
85
- // let r = signature.substring(2, 2 + 64);
86
- // let s = signature.substring(2 + 64, 2 + 64 + 64);
87
- // let v = signature.substring(2 + 64 + 64);
88
- // return { r, s ,v };
89
- // }
90
- // function toSignature (sign: { r, s, v }) {
91
- // let { r, s, v } = sign;
92
- // r = remove0x(r);
93
- // s = remove0x(s);
94
- // if (typeof v === 'number') {
95
- // v = v.toString(16);
96
- // }
97
- // v = remove0x(v);
98
- // return {
99
- // v: `0x${v}`,
100
- // r: `0x${r}`,
101
- // s: `0x${s}`,
102
- // signature: `0x${r}${s}${v}`,
103
- // signatureVRS: `0x${v}${r}${s}`
104
- // }
105
- // }
106
- // function remove0x(hex:string) {
107
- // return hex.startsWith('0x') ? hex.substring(2) : hex;
108
- // }
109
-
110
- // function toBuffer (message: string | TBytes, opts?: { encoding?: 'utf8' | 'hex' }) {
111
- // if (typeof message === 'string') {
112
- // let encoding = opts?.encoding;
113
- // if (encoding == null && $is.Hex(message)) {
114
- // encoding = 'hex';
115
- // message = message.substring(2);
116
- // }
117
- // if (encoding === 'hex') {
118
- // return $buffer.fromHex(message);
119
- // }
120
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
121
- // }
122
- // return message;
123
- // }
124
-
125
-
126
- // function getSignature(signature: string | TSignature): TSignature {
127
- // let sig = typeof signature === 'string'
128
- // ? splitSignature(signature)
129
- // : signature;
130
-
131
- // if (sig?.r == null || sig?.v == null || sig?.s == null) {
132
- // throw new Error(`Invalid signature ${JSON.stringify(sig)}`);
133
- // }
134
- // return sig;
135
- // }
136
- // }