Add injective executor logic and contracts and getVersion utility function (#983)
This commit is contained in:
parent
fafb786015
commit
ea37f6aab5
|
@ -5,6 +5,7 @@ import { CHAINS, DataSource } from "xc_admin_common";
|
||||||
import { DeploymentType } from "@pythnetwork/cosmwasm-deploy-tools/lib/helper";
|
import { DeploymentType } from "@pythnetwork/cosmwasm-deploy-tools/lib/helper";
|
||||||
import {
|
import {
|
||||||
CosmwasmExecutor,
|
CosmwasmExecutor,
|
||||||
|
InjectiveExecutor,
|
||||||
Price,
|
Price,
|
||||||
PythWrapperExecutor,
|
PythWrapperExecutor,
|
||||||
PythWrapperQuerier,
|
PythWrapperQuerier,
|
||||||
|
@ -156,7 +157,9 @@ export class CosmWasmContract extends Contract {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async getExecutor(chain: CosmWasmChain, privateKey: string) {
|
private static async getExecutor(chain: CosmWasmChain, privateKey: string) {
|
||||||
// TODO: logic for injective
|
if (chain.getId().indexOf("injective") > -1) {
|
||||||
|
return new InjectiveExecutor(chain.executorEndpoint, privateKey);
|
||||||
|
}
|
||||||
return new CosmwasmExecutor(
|
return new CosmwasmExecutor(
|
||||||
chain.executorEndpoint,
|
chain.executorEndpoint,
|
||||||
await CosmwasmExecutor.getSignerFromPrivateKey(privateKey, chain.prefix),
|
await CosmwasmExecutor.getSignerFromPrivateKey(privateKey, chain.prefix),
|
||||||
|
@ -327,6 +330,11 @@ export class CosmWasmContract extends Contract {
|
||||||
return config.config_v1.fee;
|
return config.config_v1.fee;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getVersion(): Promise<any> {
|
||||||
|
const config = await this.getConfig();
|
||||||
|
return config.contract_version;
|
||||||
|
}
|
||||||
|
|
||||||
getChain(): CosmWasmChain {
|
getChain(): CosmWasmChain {
|
||||||
return this.chain;
|
return this.chain;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
querierEndpoint: https://injective-rpc.quickapi.com:443
|
||||||
|
executorEndpoint: https://k8s.global.mainnet.chain.grpc-web.injective.network:443
|
||||||
|
id: injective
|
||||||
|
wormholeChainName: injective
|
||||||
|
mainnet: true
|
||||||
|
type: CosmWasmChain
|
|
@ -0,0 +1,6 @@
|
||||||
|
querierEndpoint: https://k8s.testnet.tm.injective.network:443
|
||||||
|
executorEndpoint: https://k8s.testnet.chain.grpc-web.injective.network
|
||||||
|
id: injective_testnet
|
||||||
|
wormholeChainName: injective_testnet
|
||||||
|
mainnet: false
|
||||||
|
type: CosmWasmChain
|
|
@ -0,0 +1,9 @@
|
||||||
|
querierEndpoint: https://rpc.osmosis.zone:443
|
||||||
|
executorEndpoint: https://rpc.osmosis.zone:443
|
||||||
|
id: osmosis
|
||||||
|
wormholeChainName: osmosis
|
||||||
|
mainnet: true
|
||||||
|
gasPrice: "0.025"
|
||||||
|
prefix: osmo
|
||||||
|
feeDenom: uosmo
|
||||||
|
type: CosmWasmChain
|
|
@ -3,7 +3,7 @@ executorEndpoint: https://rpc.atlantic-2.seinetwork.io/
|
||||||
id: sei_testnet_atlantic_2
|
id: sei_testnet_atlantic_2
|
||||||
wormholeChainName: sei_testnet_atlantic_2
|
wormholeChainName: sei_testnet_atlantic_2
|
||||||
mainnet: false
|
mainnet: false
|
||||||
gasPrice: "0.01"
|
gasPrice: "0.10"
|
||||||
prefix: sei
|
prefix: sei
|
||||||
feeDenom: usei
|
feeDenom: usei
|
||||||
type: CosmWasmChain
|
type: CosmWasmChain
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
chain: injective
|
||||||
|
address: inj12j43nf2f0qumnt2zrrmpvnsqgzndxefujlvr08
|
||||||
|
type: CosmWasmContract
|
|
@ -0,0 +1,3 @@
|
||||||
|
chain: injective_testnet
|
||||||
|
address: inj18rlflp3735h25jmjx97d22c72sxk260amdjxlu
|
||||||
|
type: CosmWasmContract
|
|
@ -0,0 +1,3 @@
|
||||||
|
chain: osmosis
|
||||||
|
address: osmo13ge29x4e2s63a8ytz2px8gurtyznmue4a69n5275692v3qn3ks8q7cwck7
|
||||||
|
type: CosmWasmContract
|
|
@ -1,3 +0,0 @@
|
||||||
chain: osmosis_testnet_5
|
|
||||||
address: osmo1q3pzdelxnh2yk66vux4s6ewrw59sx0uu2q6xd7navlsvc3vry92sk3pe7g
|
|
||||||
type: CosmWasmContract
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
chain: sei_pacific_1
|
||||||
|
address: sei15d2tyq2jzxmpg32y3am3w62dts32qgzmds9qnr6c87r0gwwr7ynqal0x38
|
||||||
|
type: CosmWasmContract
|
|
@ -0,0 +1,3 @@
|
||||||
|
chain: sei_testnet_atlantic_2
|
||||||
|
address: sei1kpntez76v38yuxhhaaahdmvjxnr5tkr8tq077smefs7uw70rj5yqw2aewy
|
||||||
|
type: CosmWasmContract
|
|
@ -1,3 +0,0 @@
|
||||||
chain: sei_testnet_atlantic_2
|
|
||||||
address: sei1w2rxq6eckak47s25crxlhmq96fzjwdtjgdwavn56ggc0qvxvw7rqczxyfy
|
|
||||||
type: CosmWasmContract
|
|
|
@ -141,7 +141,10 @@ export async function createExecutorForChain(
|
||||||
const chainType = chainConfig.chainType;
|
const chainType = chainConfig.chainType;
|
||||||
|
|
||||||
if (chainType === ChainType.INJECTIVE) {
|
if (chainType === ChainType.INJECTIVE) {
|
||||||
return new InjectiveExecutor(chainConfig.executorEndpoint, mnemonic);
|
return InjectiveExecutor.fromMnemonic(
|
||||||
|
chainConfig.executorEndpoint,
|
||||||
|
mnemonic
|
||||||
|
);
|
||||||
} else
|
} else
|
||||||
return new CosmwasmExecutor(
|
return new CosmwasmExecutor(
|
||||||
chainConfig.executorEndpoint,
|
chainConfig.executorEndpoint,
|
||||||
|
|
|
@ -36,9 +36,14 @@ export class InjectiveExecutor implements ChainExecutor {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly grpcEndpoint: string,
|
private readonly grpcEndpoint: string,
|
||||||
readonly mnemonic: string
|
readonly privateKey: string
|
||||||
) {
|
) {
|
||||||
this.wallet = PrivateKey.fromMnemonic(mnemonic);
|
this.wallet = PrivateKey.fromHex(privateKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
static fromMnemonic(grpcEndpoint: string, mnemonic: string) {
|
||||||
|
const wallet = PrivateKey.fromMnemonic(mnemonic);
|
||||||
|
return new InjectiveExecutor(grpcEndpoint, wallet.toHex());
|
||||||
}
|
}
|
||||||
|
|
||||||
private getAddress(): string {
|
private getAddress(): string {
|
||||||
|
|
Loading…
Reference in New Issue