Skip to content

Commit 9fce091

Browse files
committed
refactor: esm packages
1 parent fe69f86 commit 9fce091

File tree

6 files changed

+46
-39
lines changed

6 files changed

+46
-39
lines changed

packages/sdk-ts/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@
121121
"@cosmjs/amino": "^0.33.0",
122122
"@cosmjs/proto-signing": "^0.33.0",
123123
"@cosmjs/stargate": "^0.33.0",
124-
"@ethersproject/bytes": "^5.8.0",
125124
"@injectivelabs/abacus-proto-ts": "1.14.0",
126125
"@injectivelabs/core-proto-ts": "1.14.3",
127126
"@injectivelabs/exceptions": "^1.15.20",
@@ -137,8 +136,8 @@
137136
"@metamask/eth-sig-util": "^8.2.0",
138137
"@noble/curves": "^1.8.1",
139138
"@noble/hashes": "^1.7.1",
139+
"@scure/base": "^1.2.6",
140140
"axios": "^1.8.1",
141-
"bech32": "^2.0.0",
142141
"bip39": "^3.1.0",
143142
"cosmjs-types": "^0.9.0",
144143
"crypto-js": "^4.2.0",

packages/sdk-ts/src/core/accounts/Address.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { bech32 } from 'bech32'
1+
import { bech32 } from '@scure/base'
22
import { Address as EthereumUtilsAddress } from 'ethereumjs-util'
33
import { ErrorType, GeneralException } from '@injectivelabs/exceptions'
44
import {
@@ -38,7 +38,7 @@ export class Address {
3838
): Address {
3939
try {
4040
const address = Buffer.from(
41-
bech32.fromWords(bech32.decode(bech).words),
41+
bech32.fromWords(bech32.decode(bech as `${string}1${string}`).words),
4242
).toString('hex')
4343
const addressInHex = address.startsWith('0x') ? address : `0x${address}`
4444
const addressBuffer = EthereumUtilsAddress.fromString(
@@ -48,7 +48,7 @@ export class Address {
4848

4949
return new Address(bech32Address)
5050
} catch (e) {
51-
throw new GeneralException(new Error((e as any)), {
51+
throw new GeneralException(new Error(e as any), {
5252
type: ErrorType.ValidationError,
5353
})
5454
}
@@ -122,7 +122,9 @@ export class Address {
122122
toHex(): string {
123123
const { bech32Address } = this
124124
const address = Buffer.from(
125-
bech32.fromWords(bech32.decode(bech32Address).words),
125+
bech32.fromWords(
126+
bech32.decode(bech32Address as `${string}1${string}`).words,
127+
),
126128
).toString('hex')
127129

128130
return address.startsWith('0x') ? address : `0x${address}`

packages/sdk-ts/src/core/accounts/PrivateKey.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { generateMnemonic } from 'bip39'
2-
import { Wallet, HDNodeWallet } from 'ethers'
2+
import { Wallet, HDNodeWallet, Signature, getBytes, concat } from 'ethers'
33
import secp256k1 from 'secp256k1'
44
import keccak256 from 'keccak256'
55
import { PublicKey } from './PublicKey.js'
66
import { Address } from './Address.js'
7-
import * as BytesUtils from '@ethersproject/bytes'
87
import { signTypedData, SignTypedDataVersion } from '@metamask/eth-sig-util'
98
import {
109
DEFAULT_DERIVATION_PATH,
@@ -146,11 +145,9 @@ export class PrivateKey {
146145

147146
const msgHash = keccak256(messageBytes)
148147
const signature = wallet.signingKey.sign(msgHash)
149-
const splitSignature = BytesUtils.splitSignature(signature)
148+
const splittedSignature = Signature.from(signature)
150149

151-
return BytesUtils.arrayify(
152-
BytesUtils.concat([splitSignature.r, splitSignature.s]),
153-
)
150+
return getBytes(concat([splittedSignature.r, splittedSignature.s]))
154151
}
155152

156153
/**
@@ -180,11 +177,9 @@ export class PrivateKey {
180177
const { wallet } = this
181178

182179
const signature = wallet.signingKey.sign(messageHashedBytes)
183-
const splitSignature = BytesUtils.splitSignature(signature)
180+
const splittedSignature = Signature.from(signature)
184181

185-
return BytesUtils.arrayify(
186-
BytesUtils.concat([splitSignature.r, splitSignature.s]),
187-
)
182+
return getBytes(concat([splittedSignature.r, splittedSignature.s]))
188183
}
189184

190185
/**
@@ -368,7 +363,9 @@ export class PrivateKey {
368363
}
369364

370365
const decodedExtension =
371-
InjectiveTypesV1Beta1TxExt.ExtensionOptionsWeb3Tx.decode(extension.value)
366+
InjectiveTypesV1Beta1TxExt.ExtensionOptionsWeb3Tx.decode(
367+
extension.value,
368+
)
372369

373370
const ethereumChainId = Number(
374371
decodedExtension.typedDataChainID,

packages/sdk-ts/src/core/accounts/PublicKey.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BECH32_PUBKEY_ACC_PREFIX, decompressPubKey } from '../../utils/index.js'
2-
import { bech32 } from 'bech32'
2+
import { bech32 } from '@scure/base'
33
import { toBuffer } from 'ethereumjs-util'
44
import secp256k1 from 'secp256k1'
55
import { Address } from './Address.js'

packages/sdk-ts/src/utils/address.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { bech32 } from 'bech32'
1+
import { bech32 } from '@scure/base'
22
import { Address } from 'ethereumjs-util'
33
import keccak256 from 'keccak256'
44

@@ -26,7 +26,9 @@ export const getEthereumAddress = (injectiveAddress: string): string => {
2626
}
2727

2828
return `0x${Buffer.from(
29-
bech32.fromWords(bech32.decode(injectiveAddress).words),
29+
bech32.fromWords(
30+
bech32.decode(injectiveAddress as `${string}1${string}`).words,
31+
),
3032
).toString('hex')}`
3133
}
3234

@@ -52,7 +54,9 @@ export const getInjectiveAddressFromSubaccountId = (
5254
*/
5355
export const getDefaultSubaccountId = (injectiveAddress: string): string => {
5456
return `0x${Buffer.from(
55-
bech32.fromWords(bech32.decode(injectiveAddress).words),
57+
bech32.fromWords(
58+
bech32.decode(injectiveAddress as `${string}1${string}`).words,
59+
),
5660
).toString('hex')}${'0'.repeat(24)}`
5761
}
5862

@@ -67,7 +71,9 @@ export const getSubaccountId = (
6771
nonce = 0,
6872
): string => {
6973
return `0x${Buffer.from(
70-
bech32.fromWords(bech32.decode(injectiveAddress).words),
74+
bech32.fromWords(
75+
bech32.decode(injectiveAddress as `${string}1${string}`).words,
76+
),
7177
).toString('hex')}${'0'.repeat(23)}${nonce}`
7278
}
7379

@@ -78,7 +84,7 @@ export const getAddressFromInjectiveAddress = (address: string): string => {
7884
}
7985

8086
return `0x${Buffer.from(
81-
bech32.fromWords(bech32.decode(address).words),
87+
bech32.fromWords(bech32.decode(address as `${string}1${string}`).words),
8288
).toString('hex')}`
8389
}
8490

yarn.lock

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1320,7 +1320,7 @@
13201320
"@ledgerhq/hw-transport" "npm:@bangjelkoski/ledgerhq-hw-transport@^6.31.4-beta.0"
13211321
"@ledgerhq/logs" "^6.12.0"
13221322

1323-
"@bangjelkoski/ledgerhq-hw-transport@6.31.4-beta.0", "@ledgerhq/hw-transport@npm:@bangjelkoski/ledgerhq-hw-transport@^6.31.4-beta.0":
1323+
"@bangjelkoski/ledgerhq-hw-transport@6.31.4-beta.0":
13241324
version "6.31.4-beta.0"
13251325
resolved "https://registry.yarnpkg.com/@bangjelkoski/ledgerhq-hw-transport/-/ledgerhq-hw-transport-6.31.4-beta.0.tgz#c5a3b49f6b7cc16a9243285a4dd18d8b3a53e94f"
13261326
integrity sha512-AIRuxu8s83mv0cBooO5v+pirZyIEUobl8L9QmXvBlTJybmMmyBgigLuoIcZDlSp4Tc7jnoOlHSpFQkASc+5sNA==
@@ -1933,7 +1933,7 @@
19331933

19341934
"@ethereumjs/common@^3.2.0":
19351935
version "3.2.0"
1936-
resolved "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0"
1936+
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0"
19371937
integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==
19381938
dependencies:
19391939
"@ethereumjs/util" "^8.1.0"
@@ -1970,7 +1970,7 @@
19701970

19711971
"@ethereumjs/tx@^4.2.0":
19721972
version "4.2.0"
1973-
resolved "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853"
1973+
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853"
19741974
integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==
19751975
dependencies:
19761976
"@ethereumjs/common" "^3.2.0"
@@ -1980,7 +1980,7 @@
19801980

19811981
"@ethereumjs/tx@^5.4.0":
19821982
version "5.4.0"
1983-
resolved "https://registry.npmjs.org/@ethereumjs/tx/-/tx-5.4.0.tgz#6f47894cc3e2d4e63d87c62b41ed7e8180a1de58"
1983+
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.4.0.tgz#6f47894cc3e2d4e63d87c62b41ed7e8180a1de58"
19841984
integrity sha512-SCHnK7m/AouZ7nyoR0MEXw1OO/tQojSbp88t8oxhwes5iZkZCtfFdUrJaiIb72qIpH2FVw6s1k1uP7LXuH7PsA==
19851985
dependencies:
19861986
"@ethereumjs/common" "^4.4.0"
@@ -2095,13 +2095,6 @@
20952095
dependencies:
20962096
"@ethersproject/logger" "^5.7.0"
20972097

2098-
"@ethersproject/bytes@^5.8.0":
2099-
version "5.8.0"
2100-
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34"
2101-
integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==
2102-
dependencies:
2103-
"@ethersproject/logger" "^5.8.0"
2104-
21052098
"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
21062099
version "5.7.0"
21072100
resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
@@ -2190,11 +2183,6 @@
21902183
resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
21912184
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
21922185

2193-
"@ethersproject/logger@^5.8.0":
2194-
version "5.8.0"
2195-
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6"
2196-
integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==
2197-
21982186
"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
21992187
version "5.7.1"
22002188
resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
@@ -2958,6 +2946,16 @@
29582946
"@ledgerhq/logs" "^6.12.0"
29592947
events "^3.3.0"
29602948

2949+
"@ledgerhq/hw-transport@npm:@bangjelkoski/ledgerhq-hw-transport@^6.31.4-beta.0":
2950+
version "6.31.4-beta.0"
2951+
resolved "https://registry.yarnpkg.com/@bangjelkoski/ledgerhq-hw-transport/-/ledgerhq-hw-transport-6.31.4-beta.0.tgz#c5a3b49f6b7cc16a9243285a4dd18d8b3a53e94f"
2952+
integrity sha512-AIRuxu8s83mv0cBooO5v+pirZyIEUobl8L9QmXvBlTJybmMmyBgigLuoIcZDlSp4Tc7jnoOlHSpFQkASc+5sNA==
2953+
dependencies:
2954+
"@ledgerhq/devices" "8.4.4"
2955+
"@ledgerhq/errors" "^6.19.1"
2956+
"@ledgerhq/logs" "^6.12.0"
2957+
events "^3.3.0"
2958+
29612959
"@ledgerhq/live-env@^2.5.0":
29622960
version "2.5.0"
29632961
resolved "https://registry.yarnpkg.com/@ledgerhq/live-env/-/live-env-2.5.0.tgz#53f85ad6e09a9b71692df59b8acd5962c2bee8e9"
@@ -3905,6 +3903,11 @@
39053903
resolved "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865"
39063904
integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==
39073905

3906+
"@scure/base@^1.2.6":
3907+
version "1.2.6"
3908+
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6"
3909+
integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==
3910+
39083911
"@scure/base@~1.1.0":
39093912
version "1.1.1"
39103913
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938"

0 commit comments

Comments
 (0)