dequanto 0.2.43 → 0.2.45

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 (114) hide show
  1. package/lib/cjs/abi/coders/abstract-coder.js +18 -7
  2. package/lib/cjs/abi/coders/abstract-coder.js.map +1 -1
  3. package/lib/cjs/abi/fragments.js +24 -8
  4. package/lib/cjs/abi/fragments.js.map +1 -1
  5. package/lib/cjs/class/PackedRanges.js +6 -2
  6. package/lib/cjs/class/PackedRanges.js.map +1 -1
  7. package/lib/cjs/class/SubjectStream.js +3 -1
  8. package/lib/cjs/class/SubjectStream.js.map +1 -1
  9. package/lib/cjs/clients/WalletClient.js +3 -1
  10. package/lib/cjs/clients/WalletClient.js.map +1 -1
  11. package/lib/cjs/contracts/deploy/Deployments.js +1 -1
  12. package/lib/cjs/contracts/deploy/Deployments.js.map +1 -1
  13. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js +3 -1
  14. package/lib/cjs/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  15. package/lib/cjs/indexer/EventsIndexer.js +3 -1
  16. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  17. package/lib/cjs/safe/GnosisSafeHandler.js +6 -1
  18. package/lib/cjs/safe/GnosisSafeHandler.js.map +1 -1
  19. package/lib/cjs/safe/transport/InMemoryServiceTransport.js +4 -4
  20. package/lib/cjs/safe/transport/InMemoryServiceTransport.js.map +1 -1
  21. package/lib/cjs/safe/transport/SafeServiceTransport.js.map +1 -1
  22. package/lib/cjs/solidity/SlotsParser.js +3 -1
  23. package/lib/cjs/solidity/SlotsParser.js.map +1 -1
  24. package/lib/cjs/tokens/TokenProviders/TPCoingecko.js +3 -1
  25. package/lib/cjs/tokens/TokenProviders/TPCoingecko.js.map +1 -1
  26. package/lib/cjs/txs/TxWriter.js +7 -2
  27. package/lib/cjs/txs/TxWriter.js.map +1 -1
  28. package/lib/cjs/txs/agents/BatchAgent.js +45 -4
  29. package/lib/cjs/txs/agents/BatchAgent.js.map +1 -1
  30. package/lib/cjs/utils/$account.js +12 -9
  31. package/lib/cjs/utils/$account.js.map +1 -1
  32. package/lib/cjs/utils/$bigfloat.js +24 -8
  33. package/lib/cjs/utils/$bigfloat.js.map +1 -1
  34. package/lib/cjs/utils/$require.js +3 -3
  35. package/lib/cjs/utils/$require.js.map +1 -1
  36. package/lib/esm/abi/coders/abstract-coder.js.map +1 -1
  37. package/lib/esm/abi/coders/abstract-coder.mjs +18 -7
  38. package/lib/esm/abi/fragments.js.map +1 -1
  39. package/lib/esm/abi/fragments.mjs +24 -8
  40. package/lib/esm/class/PackedRanges.js.map +1 -1
  41. package/lib/esm/class/PackedRanges.mjs +6 -2
  42. package/lib/esm/class/SubjectStream.js.map +1 -1
  43. package/lib/esm/class/SubjectStream.mjs +3 -1
  44. package/lib/esm/clients/WalletClient.js.map +1 -1
  45. package/lib/esm/clients/WalletClient.mjs +3 -1
  46. package/lib/esm/contracts/deploy/Deployments.js.map +1 -1
  47. package/lib/esm/contracts/deploy/Deployments.mjs +1 -1
  48. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.js.map +1 -1
  49. package/lib/esm/contracts/deploy/proxy/ProxyDeployment.mjs +3 -1
  50. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  51. package/lib/esm/indexer/EventsIndexer.mjs +3 -1
  52. package/lib/esm/safe/GnosisSafeHandler.js.map +1 -1
  53. package/lib/esm/safe/GnosisSafeHandler.mjs +6 -1
  54. package/lib/esm/safe/transport/InMemoryServiceTransport.js.map +1 -1
  55. package/lib/esm/safe/transport/InMemoryServiceTransport.mjs +4 -4
  56. package/lib/esm/safe/transport/SafeServiceTransport.js.map +1 -1
  57. package/lib/esm/solidity/SlotsParser.js.map +1 -1
  58. package/lib/esm/solidity/SlotsParser.mjs +3 -1
  59. package/lib/esm/tokens/TokenProviders/TPCoingecko.js.map +1 -1
  60. package/lib/esm/tokens/TokenProviders/TPCoingecko.mjs +3 -1
  61. package/lib/esm/txs/TxWriter.js.map +1 -1
  62. package/lib/esm/txs/TxWriter.mjs +7 -2
  63. package/lib/esm/txs/agents/BatchAgent.js.map +1 -1
  64. package/lib/esm/txs/agents/BatchAgent.mjs +45 -4
  65. package/lib/esm/utils/$account.js.map +1 -1
  66. package/lib/esm/utils/$account.mjs +12 -9
  67. package/lib/esm/utils/$bigfloat.js.map +1 -1
  68. package/lib/esm/utils/$bigfloat.mjs +24 -8
  69. package/lib/esm/utils/$require.js.map +1 -1
  70. package/lib/esm/utils/$require.mjs +3 -3
  71. package/lib/types/abi/coders/abstract-coder.d.ts +18 -0
  72. package/lib/types/class/PackedRanges.d.ts +6 -0
  73. package/lib/types/class/SubjectStream.d.ts +3 -0
  74. package/lib/types/clients/WalletClient.d.ts +3 -0
  75. package/lib/types/contracts/deploy/proxy/ProxyDeployment.d.ts +3 -0
  76. package/lib/types/indexer/EventsIndexer.d.ts +3 -0
  77. package/lib/types/safe/transport/InMemoryServiceTransport.d.ts +1 -1
  78. package/lib/types/safe/transport/SafeServiceTransport.d.ts +2 -2
  79. package/lib/types/tokens/TokenProviders/TPCoingecko.d.ts +3 -0
  80. package/lib/types/txs/TxWriter.d.ts +4 -1
  81. package/lib/types/txs/agents/BatchAgent.d.ts +14 -0
  82. package/lib/types/utils/$bigfloat.d.ts +24 -0
  83. package/package.json +1 -1
  84. package/src/abi/coders/abstract-coder.ts +18 -7
  85. package/src/abi/fragments.ts +24 -8
  86. package/src/class/PackedRanges.ts +6 -2
  87. package/src/class/SubjectStream.ts +3 -1
  88. package/src/clients/WalletClient.ts +3 -1
  89. package/src/contracts/deploy/Deployments.ts +1 -1
  90. package/src/contracts/deploy/proxy/ProxyDeployment.ts +3 -1
  91. package/src/indexer/EventsIndexer.ts +3 -1
  92. package/src/safe/GnosisSafeHandler.ts +12 -10
  93. package/src/safe/transport/ISafeServiceTransport.ts +0 -3
  94. package/src/safe/transport/InMemoryServiceTransport.ts +7 -7
  95. package/src/safe/transport/SafeServiceTransport.ts +2 -5
  96. package/src/solidity/SlotsParser.ts +3 -1
  97. package/src/tokens/TokenProviders/TPCoingecko.ts +3 -1
  98. package/src/txs/TxWriter.ts +7 -2
  99. package/src/txs/agents/BatchAgent.ts +60 -4
  100. package/src/utils/$account.ts +12 -9
  101. package/src/utils/$bigfloat.ts +24 -8
  102. package/src/utils/$require.ts +3 -3
  103. package/lib/cjs/utils/$signRaw.js +0 -45
  104. package/lib/cjs/utils/$signRaw.js.map +0 -1
  105. package/lib/cjs/utils/$signRawNative.js +0 -91
  106. package/lib/cjs/utils/$signRawNative.js.map +0 -1
  107. package/lib/esm/utils/$signRaw.js.map +0 -1
  108. package/lib/esm/utils/$signRaw.mjs +0 -44
  109. package/lib/esm/utils/$signRawNative.js.map +0 -1
  110. package/lib/esm/utils/$signRawNative.mjs +0 -90
  111. package/lib/types/utils/$signRaw.d.ts +0 -1
  112. package/lib/types/utils/$signRawNative.d.ts +0 -1
  113. package/src/utils/$signRaw.ts +0 -50
  114. package/src/utils/$signRawNative.ts +0 -105
@@ -1 +0,0 @@
1
- {"version":3,"file":"$signRawNative.js","sourceRoot":"","sources":["../../../src/utils/$signRawNative.ts"],"names":[],"mappings":";;AAQA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAEjE,oCAAoC;AACpC,iHAAiH;AACjH,sCAAsC;AACtC,mDAAmD;AACnD,0EAA0E;AAC1E,aAAa;AAEb,wDAAwD;AACxD,wDAAwD;AACxD,oDAAoD;AACpD,mCAAmC;AACnC,gDAAgD;AAChD,kCAAkC;AAClC,0BAA0B;AAE1B,mBAAmB;AACnB,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B,2CAA2C;AAC3C,6CAA6C;AAC7C,YAAY;AACZ,QAAQ;AACR,yFAAyF;AACzF,gDAAgD;AAChD,oDAAoD;AACpD,2CAA2C;AAC3C,QAAQ;AAER,mHAAmH;AACnH,oDAAoD;AACpD,QAAQ;AACR,mHAAmH;AACnH,gDAAgD;AAChD,oDAAoD;AACpD,kDAAkD;AAClD,QAAQ;AAER,iIAAiI;AACjI,8DAA8D;AAC9D,wFAAwF;AACxF,sDAAsD;AACtD,QAAQ;AACR,yGAAyG;AACzG,+CAA+C;AAC/C,0CAA0C;AAC1C,2BAA2B;AAE3B,gCAAgC;AAChC,+BAA+B;AAC/B,0CAA0C;AAC1C,+BAA+B;AAC/B,mDAAmD;AACnD,+CAA+C;AAC/C,kCAAkC;AAClC,0BAA0B;AAC1B,iDAAiD;AACjD,YAAY;AACZ,8BAA8B;AAC9B,8BAA8B;AAE9B,wEAAwE;AACxE,wCAAwC;AACxC,+DAA+D;AAC/D,6BAA6B;AAC7B,oCAAoC;AACpC,QAAQ;AAER,kEAAkE;AAClE,kDAAkD;AAClD,4DAA4D;AAC5D,oDAAoD;AACpD,8BAA8B;AAC9B,QAAQ;AAER,0DAA0D;AAC1D,yGAAyG;AACzG,uEAAuE;AACvE,QAAQ;AAER,+GAA+G;AAC/G,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;AACR,IAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"$signRaw.js","sourceRoot":"","sources":["../../../src/utils/$signRaw.ts"],"names":[],"mappings":";;AAIA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAEjE,8BAA8B;AAC9B,uFAAuF;AACvF,8BAA8B;AAC9B,2CAA2C;AAC3C,kEAAkE;AAClE,aAAa;AAEb,0DAA0D;AAC1D,2DAA2D;AAC3D,sCAAsC;AAEtC,mBAAmB;AACnB,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B,2CAA2C;AAC3C,6CAA6C;AAC7C,YAAY;AACZ,QAAQ;AACR,qFAAqF;AACrF,4CAA4C;AAC5C,8DAA8D;AAC9D,2CAA2C;AAC3C,QAAQ;AAER,8FAA8F;AAC9F,uEAAuE;AACvE,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;AACR,IAAI"}
@@ -1,44 +0,0 @@
1
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
2
- export {};
3
- // export namespace $signRaw {
4
- // export function signEC (message: string | Buffer, privateKey: string | Buffer) {
5
- // const sig = ecsign(
6
- // toBuffer(message) as Buffer,
7
- // toBuffer(privateKey, { encoding: 'hex' }) as Buffer
8
- // );
9
- // let r = sig.r.toString('hex').padStart(64, '0')
10
- // let s = sig.s.toString('hex').padStart(64, '0');
11
- // let v = sig.v.toString(16);
12
- // return {
13
- // v: `0x${v}`,
14
- // r: `0x${r}`,
15
- // s: `0x${s}`,
16
- // signature: `0x${r}${s}${v}`,
17
- // signatureVRS: `0x${v}${r}${s}`
18
- // }
19
- // }
20
- // export function signEIPHashed (message: string | Buffer, privateKey: string) {
21
- // const buffer = toBuffer(message);
22
- // const hash = hashPersonalMessage(buffer as Buffer);
23
- // return signEC(hash, privateKey);
24
- // }
25
- // export function ecrecover (message: string, signature: string | { v, r, s}): TAddress {
26
- // return utils.recoverAddress(message, signature) as TAddress;
27
- // }
28
- // function toBuffer (message: string | Buffer, opts?: { encoding?: 'utf8' | 'hex' }) {
29
- // if (typeof message === 'string') {
30
- // let encoding = opts?.encoding;
31
- // if (encoding == null && $is.Hex(message)) {
32
- // encoding = 'hex';
33
- // message = message.substring(2);
34
- // }
35
- // if (encoding === 'hex') {
36
- // return $buffer.fromHex(message);
37
- // }
38
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
39
- // }
40
- // return message;
41
- // }
42
- // }
43
- //# sourceMappingURL=$signRaw.js.map
44
- //# sourceMappingURL=$signRaw.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"$signRawNative.js","sourceRoot":"","sources":["../../../src/utils/$signRawNative.ts"],"names":[],"mappings":";;AAQA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAEjE,oCAAoC;AACpC,iHAAiH;AACjH,sCAAsC;AACtC,mDAAmD;AACnD,0EAA0E;AAC1E,aAAa;AAEb,wDAAwD;AACxD,wDAAwD;AACxD,oDAAoD;AACpD,mCAAmC;AACnC,gDAAgD;AAChD,kCAAkC;AAClC,0BAA0B;AAE1B,mBAAmB;AACnB,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B,2CAA2C;AAC3C,6CAA6C;AAC7C,YAAY;AACZ,QAAQ;AACR,yFAAyF;AACzF,gDAAgD;AAChD,oDAAoD;AACpD,2CAA2C;AAC3C,QAAQ;AAER,mHAAmH;AACnH,oDAAoD;AACpD,QAAQ;AACR,mHAAmH;AACnH,gDAAgD;AAChD,oDAAoD;AACpD,kDAAkD;AAClD,QAAQ;AAER,iIAAiI;AACjI,8DAA8D;AAC9D,wFAAwF;AACxF,sDAAsD;AACtD,QAAQ;AACR,yGAAyG;AACzG,+CAA+C;AAC/C,0CAA0C;AAC1C,2BAA2B;AAE3B,gCAAgC;AAChC,+BAA+B;AAC/B,0CAA0C;AAC1C,+BAA+B;AAC/B,mDAAmD;AACnD,+CAA+C;AAC/C,kCAAkC;AAClC,0BAA0B;AAC1B,iDAAiD;AACjD,YAAY;AACZ,8BAA8B;AAC9B,8BAA8B;AAE9B,wEAAwE;AACxE,wCAAwC;AACxC,+DAA+D;AAC/D,6BAA6B;AAC7B,oCAAoC;AACpC,QAAQ;AAER,kEAAkE;AAClE,kDAAkD;AAClD,4DAA4D;AAC5D,oDAAoD;AACpD,8BAA8B;AAC9B,QAAQ;AAER,0DAA0D;AAC1D,yGAAyG;AACzG,uEAAuE;AACvE,QAAQ;AAER,+GAA+G;AAC/G,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;AACR,IAAI"}
@@ -1,90 +0,0 @@
1
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
2
- export {};
3
- // export namespace $signRawNative {
4
- // export function signEC (message: string | Uint8Array, privateKey: string | Uint8Array, chainId?: number) {
5
- // const sig = secp256k1.sign(
6
- // toUint8Array(message) as Uint8Array,
7
- // toUint8Array(privateKey, { encoding: 'hex' }) as Uint8Array
8
- // );
9
- // let r = sig.r.toString(16).padStart(64, '0');
10
- // let s = sig.s.toString(16).padStart(64, '0');
11
- // // https://eips.ethereum.org/EIPS/eip-155
12
- // let v = (chainId != null
13
- // ? sig.recovery + chainId * 2 + 35
14
- // : sig.recovery + 27
15
- // ).toString(16);
16
- // return {
17
- // v: `0x${v}`,
18
- // r: `0x${r}`,
19
- // s: `0x${s}`,
20
- // signature: `0x${r}${s}${v}`,
21
- // signatureVRS: `0x${v}${r}${s}`
22
- // }
23
- // }
24
- // export function signEIPHashed (message: string | Uint8Array, privateKey: string) {
25
- // const buffer = toUint8Array(message);
26
- // const hash = hashPersonalMessage(buffer);
27
- // return signEC(hash, privateKey);
28
- // }
29
- // export function ecrecover (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }): TEth.Address {
30
- // return recoverAddress(digest, signature);
31
- // }
32
- // export function eipRecover (message: string | Uint8Array, signature: TEth.Hex | { v, r, s }): TEth.Address {
33
- // const buffer = toUint8Array(message);
34
- // const hash = hashPersonalMessage(buffer);
35
- // return recoverAddress(hash, signature);
36
- // }
37
- // export function recoverAddress (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }): Promise<TEth.Address> {
38
- // const publicKey = recoverPubKey(digest, signature);
39
- // const address = $contract.keccak256(`0x${publicKey.substring(4)}`).slice(-40)
40
- // return $address.toChecksum(`0x${address}`);
41
- // }
42
- // export function recoverPubKey (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }) {
43
- // let { v, r, s } = $is.Hex(signature)
44
- // ? splitSignature(signature)
45
- // : signature;
46
- // let vNum = Number(v);
47
- // let recovery: 0 | 1;
48
- // if (vNum === 0 || vNum === 1) {
49
- // recovery = vNum;
50
- // } else if (vNum === 27 || vNum === 28) {
51
- // recovery = (vNum - 27) as 0 | 1;
52
- // } else if (vNum > 35) {
53
- // vNum -= 35;
54
- // recovery = vNum % 2 === 0 ? 0 : 1;
55
- // }
56
- // r = r.substring(2);
57
- // s = s.substring(2);
58
- // const publicKey = secp256k1.Signature.fromCompact(`${r}${s}`)
59
- // .addRecoveryBit(recovery)
60
- // .recoverPublicKey($hex.raw($hex.ensure(digest)))
61
- // .toHex(false);
62
- // return `0x${publicKey}`
63
- // }
64
- // function splitSignature (signature: TEth.Hex): { v, r, s} {
65
- // let r = signature.substring(2, 2 + 64);
66
- // let s = signature.substring(2 + 64, 2 + 64 + 64);
67
- // let v = signature.substring(2 + 64 + 64);
68
- // return { r, s ,v };
69
- // }
70
- // function hashPersonalMessage (buffer: Uint8Array) {
71
- // const prefix = $buffer.fromString(`\u0019Ethereum Signed Message:\n${buffer.length}`, 'utf-8')
72
- // return $contract.keccak256($buffer.concat([prefix, buffer]))
73
- // }
74
- // function toUint8Array (message: string | Uint8Array, opts?: { encoding?: 'utf8' | 'hex' }): Uint8Array {
75
- // if (typeof message === 'string') {
76
- // let encoding = opts?.encoding;
77
- // if (encoding == null && $is.Hex(message)) {
78
- // encoding = 'hex';
79
- // message = message.substring(2);
80
- // }
81
- // if (encoding === 'hex') {
82
- // return $buffer.fromHex(message);
83
- // }
84
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
85
- // }
86
- // return message;
87
- // }
88
- // }
89
- //# sourceMappingURL=$signRawNative.js.map
90
- //# sourceMappingURL=$signRawNative.ts.map
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,50 +0,0 @@
1
- import { $buffer } from './$buffer';
2
- import { $is } from './$is';
3
- import { TAddress } from '@dequanto/models/TAddress';
4
-
5
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
6
-
7
- // export namespace $signRaw {
8
- // export function signEC (message: string | Buffer, privateKey: string | Buffer) {
9
- // const sig = ecsign(
10
- // toBuffer(message) as Buffer,
11
- // toBuffer(privateKey, { encoding: 'hex' }) as Buffer
12
- // );
13
-
14
- // let r = sig.r.toString('hex').padStart(64, '0')
15
- // let s = sig.s.toString('hex').padStart(64, '0');
16
- // let v = sig.v.toString(16);
17
-
18
- // return {
19
- // v: `0x${v}`,
20
- // r: `0x${r}`,
21
- // s: `0x${s}`,
22
- // signature: `0x${r}${s}${v}`,
23
- // signatureVRS: `0x${v}${r}${s}`
24
- // }
25
- // }
26
- // export function signEIPHashed (message: string | Buffer, privateKey: string) {
27
- // const buffer = toBuffer(message);
28
- // const hash = hashPersonalMessage(buffer as Buffer);
29
- // return signEC(hash, privateKey);
30
- // }
31
-
32
- // export function ecrecover (message: string, signature: string | { v, r, s}): TAddress {
33
- // return utils.recoverAddress(message, signature) as TAddress;
34
- // }
35
-
36
- // function toBuffer (message: string | Buffer, opts?: { encoding?: 'utf8' | 'hex' }) {
37
- // if (typeof message === 'string') {
38
- // let encoding = opts?.encoding;
39
- // if (encoding == null && $is.Hex(message)) {
40
- // encoding = 'hex';
41
- // message = message.substring(2);
42
- // }
43
- // if (encoding === 'hex') {
44
- // return $buffer.fromHex(message);
45
- // }
46
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
47
- // }
48
- // return message;
49
- // }
50
- // }
@@ -1,105 +0,0 @@
1
- import { secp256k1 } from '@noble/curves/secp256k1'
2
- import { TEth } from '@dequanto/models/TEth';
3
- import { $buffer } from './$buffer';
4
- import { $contract } from './$contract';
5
- import { $is } from './$is';
6
- import { $hex } from './$hex';
7
- import { $address } from './$address';
8
-
9
- throw new Error(`Deprecated. Use @dequanto/utils/$sig instead.`);
10
-
11
- // export namespace $signRawNative {
12
- // export function signEC (message: string | Uint8Array, privateKey: string | Uint8Array, chainId?: number) {
13
- // const sig = secp256k1.sign(
14
- // toUint8Array(message) as Uint8Array,
15
- // toUint8Array(privateKey, { encoding: 'hex' }) as Uint8Array
16
- // );
17
-
18
- // let r = sig.r.toString(16).padStart(64, '0');
19
- // let s = sig.s.toString(16).padStart(64, '0');
20
- // // https://eips.ethereum.org/EIPS/eip-155
21
- // let v = (chainId != null
22
- // ? sig.recovery + chainId * 2 + 35
23
- // : sig.recovery + 27
24
- // ).toString(16);
25
-
26
- // return {
27
- // v: `0x${v}`,
28
- // r: `0x${r}`,
29
- // s: `0x${s}`,
30
- // signature: `0x${r}${s}${v}`,
31
- // signatureVRS: `0x${v}${r}${s}`
32
- // }
33
- // }
34
- // export function signEIPHashed (message: string | Uint8Array, privateKey: string) {
35
- // const buffer = toUint8Array(message);
36
- // const hash = hashPersonalMessage(buffer);
37
- // return signEC(hash, privateKey);
38
- // }
39
-
40
- // export function ecrecover (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }): TEth.Address {
41
- // return recoverAddress(digest, signature);
42
- // }
43
- // export function eipRecover (message: string | Uint8Array, signature: TEth.Hex | { v, r, s }): TEth.Address {
44
- // const buffer = toUint8Array(message);
45
- // const hash = hashPersonalMessage(buffer);
46
- // return recoverAddress(hash, signature);
47
- // }
48
-
49
- // export function recoverAddress (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }): Promise<TEth.Address> {
50
- // const publicKey = recoverPubKey(digest, signature);
51
- // const address = $contract.keccak256(`0x${publicKey.substring(4)}`).slice(-40)
52
- // return $address.toChecksum(`0x${address}`);
53
- // }
54
- // export function recoverPubKey (digest: TEth.Hex | Uint8Array, signature: TEth.Hex | { v, r, s }) {
55
- // let { v, r, s } = $is.Hex(signature)
56
- // ? splitSignature(signature)
57
- // : signature;
58
-
59
- // let vNum = Number(v);
60
- // let recovery: 0 | 1;
61
- // if (vNum === 0 || vNum === 1) {
62
- // recovery = vNum;
63
- // } else if (vNum === 27 || vNum === 28) {
64
- // recovery = (vNum - 27) as 0 | 1;
65
- // } else if (vNum > 35) {
66
- // vNum -= 35;
67
- // recovery = vNum % 2 === 0 ? 0 : 1;
68
- // }
69
- // r = r.substring(2);
70
- // s = s.substring(2);
71
-
72
- // const publicKey = secp256k1.Signature.fromCompact(`${r}${s}`)
73
- // .addRecoveryBit(recovery)
74
- // .recoverPublicKey($hex.raw($hex.ensure(digest)))
75
- // .toHex(false);
76
- // return `0x${publicKey}`
77
- // }
78
-
79
- // function splitSignature (signature: TEth.Hex): { v, r, s} {
80
- // let r = signature.substring(2, 2 + 64);
81
- // let s = signature.substring(2 + 64, 2 + 64 + 64);
82
- // let v = signature.substring(2 + 64 + 64);
83
- // return { r, s ,v };
84
- // }
85
-
86
- // function hashPersonalMessage (buffer: Uint8Array) {
87
- // const prefix = $buffer.fromString(`\u0019Ethereum Signed Message:\n${buffer.length}`, 'utf-8')
88
- // return $contract.keccak256($buffer.concat([prefix, buffer]))
89
- // }
90
-
91
- // function toUint8Array (message: string | Uint8Array, opts?: { encoding?: 'utf8' | 'hex' }): Uint8Array {
92
- // if (typeof message === 'string') {
93
- // let encoding = opts?.encoding;
94
- // if (encoding == null && $is.Hex(message)) {
95
- // encoding = 'hex';
96
- // message = message.substring(2);
97
- // }
98
- // if (encoding === 'hex') {
99
- // return $buffer.fromHex(message);
100
- // }
101
- // return $buffer.fromString(message, opts?.encoding ?? 'utf8');
102
- // }
103
- // return message;
104
- // }
105
- // }