UNPKG

@xpla/xpla

Version:

<p align="center"> <img src="https://user-images.githubusercontent.com/545047/188804067-28e67e5e-0214-4449-ab04-2e0c564a6885.svg" width="80"> </p>

69 lines (68 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultWalletOptions = exports.defaultSignerOptions = exports.defaultAccountParser = exports.defaultEncodePublicKey = exports.defaultPublicKeyConfig = exports.Network = void 0; const defaults_1 = require("@interchainjs/cosmos/defaults"); const utils_1 = require("@interchainjs/cosmos/utils"); const keys_1 = require("@interchainjs/cosmos-types/cosmos/crypto/secp256k1/keys"); const eth_account_1 = require("./accounts/eth-account"); const account_1 = require("@xpla/xplajs/ethermint/types/v1/account"); const _assert_1 = require("@noble/hashes/_assert"); const sha3_1 = require("@noble/hashes/sha3"); const transactions_1 = require("@ethersproject/transactions"); const utils_2 = require("@interchainjs/utils"); const ethSecp256k1_1 = require("@interchainjs/auth/ethSecp256k1"); exports.Network = { Mainnet: { lcd: "https://dimension-lcd.xpla.io", rpc: "https://dimension-rpc.xpla.io", }, Testnet: { lcd: "https://cube-lcd.xpla.io", rpc: "https://cube-rpc.xpla.io", } }; exports.defaultPublicKeyConfig = { isCompressed: defaults_1.defaultSignerConfig.publicKey.isCompressed, hash: (publicKey) => utils_2.Key.fromHex((0, transactions_1.computeAddress)(publicKey.value)) }; const defaultEncodePublicKey = (key) => { return { typeUrl: '/ethermint.crypto.v1.ethsecp256k1.PubKey', value: keys_1.PubKey.encode(keys_1.PubKey.fromPartial({ key: key.value })).finish(), }; }; exports.defaultEncodePublicKey = defaultEncodePublicKey; const defaultAccountParser = (encodedAccount) => { try { return (0, defaults_1.defaultAccountParser)(encodedAccount); } catch (error) { const decoder = (0, utils_1.toDecoder)(account_1.EthAccount); const account = decoder.fromPartial(decoder.decode(encodedAccount.value)); return account.baseAccount; } }; exports.defaultAccountParser = defaultAccountParser; exports.defaultSignerOptions = { Cosmos: { ...defaults_1.defaultSignerConfig, message: { ...defaults_1.defaultSignerConfig.message, hash: (message) => { const hashed = (0, sha3_1.keccak_256)(message); (0, _assert_1.abytes)(hashed); return hashed; }, }, publicKey: exports.defaultPublicKeyConfig, encodePublicKey: exports.defaultEncodePublicKey, parseAccount: exports.defaultAccountParser, createAccount: eth_account_1.EthAccount, prefix: 'xpla', } }; exports.defaultWalletOptions = { bip39Password: undefined, createAuthsFromMnemonic: ethSecp256k1_1.EthSecp256k1Auth.fromMnemonic, signerConfig: exports.defaultSignerOptions.Cosmos, };