#🚀・dev-support

1 messages · Page 3 of 1

tall plover
#

I have deployed a smart contract in injective testnet.
Then I tried to querying and send tx to the contract.
Querying is successed.
But send tx is failed.
I use keplr wallet, and send tx code is like this:

...
const { txRaw } = createTransaction({
pubKey,
chainId,
fee: DEFAULT_STD_FEE,
message: msg,
sequence: accountDetails.sequence,
timeoutHeight: timeoutHeight.toNumber(),
accountNumber: baseAccount.accountNumber,
})

const result = await keplr.sendTx(
  chainId,
  CosmosTxV1Beta1Tx.TxRaw.encode(txRaw).finish(),
  BroadcastMode.Sync,
)

Then, I received error msg.

"Uncaught (in promise) Error: invalid mode"

tall plover
#

Please have patience, a dev will respond when available

severe basin
#

Yo, you have any experience with building tokens on inj

severe basin
tall plover
kind flare
tall plover
pulsar rose
#

What language should I write code in to make an Injective project?

lime mountain
heady rune
#

Who needs a proj to work on

tall plover
#

How can I send Binary parameter to "send_nft" execute method of cw721 smart contract?
I use @injectiveLab/sdk-ts library in typescript project.
@kind flare, @plucky quail

kind flare
kind moon
#

how to verify msgs sign in keplr ?
I use Secp256k1.verifySignatureto verify
but failed.

kind moon
#

how do we handle signAmino ?

tall plover
jagged brook
#

What you working on

dapper oriole
plush oyster
plush oyster
warm kernel
lime mountain
#

not at the moment

orchid pier
#

spotted a few typos in the injective-ts repo (amazing work on the docs btw), do I need to make a PR or does someone on the team want to just pick it up

proper grove
#

while following the command line to install injectived cli, I encounterd the following error

#
calm sundial
#

faucet not working

#

help please

plush oyster
#

Please try later

calm sundial
#

and how long should i wait?

plush oyster
plush oyster
calm sundial
zenith field
ionic wind
#

Is there a way to deploy solidity contracts on injective?

severe topaz
ionic wind
#

@ocean schooner can I deploy solidity contracts on Injective somehow? I know you folks use CosmWASM.

tall plover
#

Injective has full smart contracts capabilities thanks to cosmwasm. In order to deploy a smart contract on injective it must be build through cosmwasm

ionic wind
nimble shore
scenic crane
#

how can one make a NFT utility token on INJ, doesnt seem like theres a way to create one atm

#

also what chians can one brdige to INJ, portal bridge wont allow me to bridge something from algorand

austere bobcat
scenic crane
#

From what i've heard around only erc20 can be bridgged via protal?

austere bobcat
# scenic crane i was talking about portal bridge,

You can bridge any ERC20 from the hub and use Ethereum bridge -> https://www.youtube.com/watch?v=SspkXnldqHc

The Injective Bridge is now live on the Injective Hub! You can now bridge any ERC20 token to the Injective Chain using the secure cross-chain Injective Bridge.

  1. The Injective bridge enables lightning fast transfers and is one of the cheapest solutions on the market today (average transaction cost of ~$0.02 when transacting on the Injective Ch...
▶ Play video
scenic crane
#

good to see a fellow balkan here btw

mortal sparrow
#

Good

austere bobcat
scenic crane
#

no im asking, is etherium the only chain i can bridge a costum (community) token

nimble shore
tall plover
#

For example USDT should only be bridged through the eth bridge, not through wormhole to injective

scenic crane
#

My question is, i want to have a NFT project token, since i cant build one in INJ can i create on on eth / other chains and bring it here

tall plover
proper grove
#

how to incorporate the native oracle into cosmwasm contract to fetch the inj/usd price pair? any code examples?

scenic crane
austere bobcat
# scenic crane Well can you point at some repo? We've got some devs in our team

Here is our notion doc for more info on injective - https://injective.notion.site/injective/Injective-INJ-e1f0aff38d5546f5be9f47efab5b972b
Here is the injective git hub - https://github.com/InjectiveLabs
Here are the docs - https://docs.injective.network/learn

Also check this link - https://api.injective.exchange/

Injective on Notion

The open interoperable smart contract platform optimized for DeFi applications.

GitHub

Building the future of decentralized exchange. Injective Protocol has 110 repositories available. Follow their code on GitHub.

scenic crane
#

thanks balkan bros ❤️

austere bobcat
novel snow
#

Congratulations on such a good launch

scenic crane
#

bro u gotta stop user others name

young hornet
hard tapir
ruby pilot
#

I'm Godwin, and I'm a web3 developer who believes in A16Z's Progressive Decentralization.
I'm in the process of starting a new business that builds better tools for crypto projects to engage with their communities and move toward decentralization.

#

As part of my research, I would love to ask you a couple of questions . Here they are:

  1. What do you do to encourage your community members to actively participate in governing the Protocol/DAO with you?
  2. What are the biggest obstacles you face in getting the community to participate in governing?
  3. What strategies are you currently implementing to tackle these challenges?
  4. Why is it important to get governance participation from your community?
proper grove
#

how to use the oracle module of injective? My contract needs to get inj/usd price pair

tall plover
#

I try to submit proposal my contract using "injectived tx gov submit-proposal" command.
How can I get code-hash of my contract?

#

@plucky quail @willow notch

vestal venture
#

Does anyone know if the .inj registrar smart contract has already been created?

royal imp
proper grove
#

what's the precision of native token inj?

fallen valve
proper grove
#

both, price prediction and inj smallest unit

fallen valve
undone bramble
#

I have a question, I need to get the txHash of a failed transaction using MsgBroadcasterWithPk to broadcast a message on injective. The error response of broadcasting a transaction doesn't include the txHash, although I can find the txHash on injective explorer. Is there any option to get the txHash of failed transaction?

wild frigate
#

where can we find the trading subaccount index and create granter account for injective?

topaz seal
mighty reef
#

is there a doc for wallet connect button for react js?

umbral linden
#

@tall plover
I want to propose my injective smart contract.
So, I tried it using "injectived tx gov submit-proposal wasm-store" command by reading https://docs.injective.network/develop/guides/cosmwasm-dapps/Cosmwasm_CW20_deployment_guide_Mainnet/.

I have to add --code-source-url, --code-hash and --builder flags.
Please help me to know the details of these flags...

This guide will get you started with the governance process of deploying and instantiating CosmWasm smart contracts on Injective Mainnet.

umbral linden
#

@tall plover @austere bobcat
injectived tx gov submit-proposal wasm-store command is passed with my parameters.
But transaction is failed.
txhash: C8463274F83FCBD13D9B86561827C7C7C8AE3A9E8A44292CA740FDEC0C5EF527

austere bobcat
umbral linden
#

@lime mountain
Please help me to submit governance proposal.
"injectived tx gov submit-proposal wasm-store " command doesn't match checksum with --code-hash generated by sha256sum of wasm file.

umbral linden
craggy zephyr
#

i cant swap

tall plover
winged fractal
tranquil zealot
#

looks like theres some issue on talis about ipfs

thin karma
#

Is there a query to get previous owner of an nft

winged vector
#

I'm very new to working with both cosmosSDK and grpc/protocol buffers.

I'm trying to integrate injective into my app that is in Java and is generally set up to work with REST endpoints and websocket streams.
Yesterday I did manage to get the Injective protocol buffers (from the go-sdk) compiled and working in Java. Then I realized there are also REST endpoints available (https://testnet.lcd.injective.network/swagger/#/Query) for the request calls, but not the streaming parts of the API.

I also found by searching this discord that there is a websocket url available related to Injective (#🚀・dev-support message). I presume that is to basically subscribe to the chain events directly?
~~I tried connecting to the websocket testnet url and querying for new blocks with
{ "jsonrpc": "2.0",
"method": "subscribe",
"id": 0,
"params": {
"query": "tm.event='NewBlock'"
}
}

but was not receiving any events. Is there another example of message I should be sending instead?~~ EDIT: ok I was doing something wrong in my websocket connection. I'm now getting the NewBlock info. So now I think figuring out my below question will be more straightforward.

And if I do get that to work, would I be able to replicate the streaming parts of the injective api trivially by just reading the block data?
I would much prefer to work with websockets/rest over grpc if that's possible, but I'm having trouble evaluating if it's possible and how difficult it would be (relative to maintaining the java grpc generation and learning that world a bit better).

winged vector
#

After some time working with the block data, I'm wondering how that relates to the api/grpc endpoints relate to the injective.exchange.v1beta1 event types.
Is this endpoint:
https://api.injective.exchange/#injectivespotexchangerpc-streamorderbooksv2

Essentially just offering a higher layer api that shows the same data that shows up in the tendermint transaction event logs under "injective.exchange.v1beta1.EventOrderbookUpdate.spot_updates"?

But it should be possible to also just track the book state using the exchange events only, right?

primal terrace
# winged vector After some time working with the block data, I'm wondering how that relates to t...

Yes, the endpoint you shared is from the Indexer API. The API calls are structured under "Indexer API" and "Chain API". The indexer is an off-chain service that indexes raw events from the chain and constructs collections in a database.

That's needed so you can fetch historical data i.e. trades which are not stored on the chain itself, the events are but depending on your use-case it might be very time-consuming to use events and thus a higher layer API can serve that purpose.

https://testnet.lcd.injective.network/swagger/#/Query -> Chain API
https://api.injective.network/swagger/ -> Indexer API

Let me know if that answers the question.

winged vector
tall bronze
#

i'm using typescript sdk and i want to know if it's possible to get all nfts information given an injective address.

topaz seal
#

You should contact the tech team behind the NFT project for that

sinful zealot
#

Can someone tell me why I have to use talis for a new project

#

As an engineer I feel like that is the anti-pattern to decentralization

#

Also, there is no official message spec for an 1155 or 721 type of token on CW

#

How do we push the the envelope here and get some sort of adopted standard

sinful zealot
#

man i'm getting real hung up on talis being basically a centralized mint factory

lime mountain
#

it's the only easy way as for now, there will be more ways in the future

sinful zealot
#

Yeah….I’m going to deploy a marketplace with a token standard because this feels wrong to me

#

I’ll likely borrow from the CW20 contract and maybe mush it up with things that are good about 721 or 1155s

vernal wraith
#

Nicceee

sinful zealot
#

turns out there is a CW721

#

not sure if its official

#

but tis there

quiet horizon
ornate agate
#

who can help me with the deployment to the mainnet. i was trying to do it myself, but only found the way by running your own node first and then post a proposal through injectived gov command. Is there easier way to deploy my smart contract without running node bc it seems to be a little bit hard way to do

quiet horizon
#

Use injectived

ornate agate
quiet horizon
#

It’s the same process you just don’t use the testnet flags iirc

quiet horizon
#

How can i deploy contracts from my laptop? i shouldnt need a whole ass server to deploy testnet contracts

plush oyster
# quiet horizon How can i deploy contracts from my laptop? i shouldnt need a whole ass server to...

This example illustrates the structure of a basic smart contract. The counter website allows you to interact with an instance of the smart contract on the Injective Testnet. If you have prior CosmWasm smart contract experience, feel free to skip this section.

#

Hope this help

quiet horizon
sinful zealot
#

i think you are going to have to run a node LMAO

#

i can spin a node up if you want

quiet horizon
#

would be amazing

mighty reef
#

are rpcs down rn?

#

testnet down

lime mountain
mighty reef
sinful zealot
#

panic: minimum commission rate cannot be nil: <nil>

#

Why am i getting this on testnet uleveraging the genesis file suggested

orchid eagle
#

What's going on fam

sinful zealot
#

Found the issue

cursive path
#

how

rich vale
#

Hello, I wanted to try running my token, am I understanding correctly that you need to become a validator to do this?

lime mountain
# rich vale Hello, I wanted to try running my token, am I understanding correctly that you n...

By running a token you mean create one? you can use cosmwasm to create CW20 tokens

The docs can explain - https://docs.injective.network/develop/guides/cosmwasm-dapps/Cosmwasm_CW20_deployment_guide_Local

This guide will get you started deploying cw20 smart contracts on a local Injective network running on your computer. We'll use the cw20-base contract from CosmWasm's collection of specifications and contracts designed for production use on real networks.

rich vale
#

I am studying the documentation and a bit confused, to create and run your DEX necessarily need injectived ? Sorry if this is a stupid question, just very interesting, trying to learn.

sinful zealot
#

Minimally, you need to run docker images to submit to mainnet

#

Depends on where you are going

glad hornet
#

issues in https://docs.ts.injective.network/building-dapps/dapps-examples/dex

missed import of **IndexerGrpcDerivativesStream **from '@injectivelabs/sdk-ts'

missed "s" in
export const indexerSpotStream = new IndexerGrpcDerivativeStream(ENDPOINTS.indexer)
export const indexerDerivativeStream = new IndexerGrpcDerivativeStream(ENDPOINTS.indexer)

correct:
export const indexerSpotStream = new IndexerGrpcDerivativesStream(ENDPOINTS.indexer)
export const indexerDerivativesStream = new IndexerGrpcDerivativesStream(ENDPOINTS.indexer)

kind flare
kind flare
sinful zealot
#

I will give someone a solid high five to make my node work

#
  • brand new server meeting specs
  • pulled latest release
  • copied all the things to bin
  • init
  • copied genesis from official git
  • copied seeds from official git
  • pulled snap from polkachu
  • extracted snap
  • lit back up
  • fail.
#

😡

sinful zealot
#

🦗

quiet horizon
#

Why
Error: rpc error: code = NotFound desc = rpc error: code = NotFound desc = account inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq not found: key not found

#

ive made and deleted multiple accounts

#

same error over and over

#

why cant i just pass an account object to it

hot dock
quiet horizon
vestal venture
#

may i have some dev help for like 2 mins

plush oyster
#

Note that admin never DM you first

vestal venture
#

Its probable a silly question but beyond me lol. Essentially i need to know how to write a send NFT message. Ive transferred a test NFT to a multi-sig smart contract wallet and need to know how to send the NFT out using cosm messaging as there is no template

#

Im using Apollo Safe

topaz seal
#

Hello Usaf. The internal details related to the NFT project's contracts that handle the NFTs management are known by the tech team of the NFT project you are using. Please contact thir tech support team, they will be able to help you determine the exact messages you need to send and to which contracts

#

In Injective documentation you can find the details on how to send requests to contracts

vestal venture
#

Ive got the contract i need to interact with, i just need to know how to format it

#

But yeah i will ask Talis, thanks

topaz seal
vestal venture
dim mirage
#

Nice

hybrid locust
#
topaz seal
#

That difference is produced because those environments where using different versions of the indexer component. The devops team confirmed that they will synchronize versions soon

tall bronze
#

Is it possible to show injective token on Keplr or Metamask?

tall plover
tacit night
#

@tall plover we’re going to deploy our oracle and VRF on Injective, and would like to get in touch with your foundation for synergies. Could you help me connect with your ecosystem team? Thanks!

lime mountain
clever harness
#

I'm new to the Injective community and I heard that Injective has APIs that make development very convenient! Does anyone have any resources to recommend for me to learn more about this? Thanks!

lime mountain
sinful zealot
#

What would lead a validator to show 0 uptime

quiet horizon
lime mountain
quiet horizon
#

i cant tell if its the injective-cosmwasm or injective-std

lime mountain
#

I believe its cosmwasm, maybe @kind flare or @primal terrace can confirm

quiet horizon
#

thanks

kind flare
#

It should be the cosmwasm, yes, but you should be able to see for yourself from the code.

quiet horizon
#

thanks

quiet horizon
#

Getting 502 errors on the public RPC?

quiet horizon
#

Which of the injective-cw packages should I use for instantiating a contract? I can’t find it by doing symbol search

winged vector
#

I'm trying to convert the python MsgSend example to use the synchronous client instead of the async one, but I can't seem to get get_account to work, it just returns None. Am I doing something obviously wrong here?

network = Network.testnet()
composer = ProtoMsgComposer(network=network.string())
client = Client(network, insecure=False)

client.sync_timeout_height()

# (not my private key, taken from public examples)
priv_key = PrivateKey.from_hex("")
pub_key = priv_key.to_public_key()
address = pub_key.to_address()

# Just returns None
account = client.get_account(address.to_acc_bech32())
GitHub

Injective Exchange API for Python clients. Contribute to InjectiveLabs/sdk-python development by creating an account on GitHub.

topaz seal
#

Please keep in mind that the sync Client class is not being updated, and will be deprecated in the future. Having said that, check if this solves the issue:
network = Network.testnet(node="sentry")

The suggested code will only work with the latest package version

winged vector
#

I figured that might be the case about it being deprecated.
I still am getting None though after upgrading to the latest injective-py

#

Not a high priority, I'm just poking around and was curious

topaz seal
#

yes, the code is all in Client class, that is why it is returning None

tall bronze
buoyant stump
#

I'm working on automating a few wallet interactions, using a Python backend with Cosmpy.

however, this does not work with Injective because the addresses that Cosmpy generates from a mnemonic or private key are not correct (because Cosmpy uses AtomAddrEncoder as I understand).

I've opened an issue with them but I don't really expect a solution in a reasonable timeframe.

Can anyone recommend a python library that I could use instead for Injective? I'm looking at making txs like withdrawing rewards, transfering funds...

primal terrace
buoyant stump
quiet horizon
winged vector
#

Are there docs anywhere for trading on injective at the protocol level? For example if I'm trying to place trades I need to convert the "human friendly" quantity/prices/etc into integer units if I want to just send a transaction directly, which is what this python does here: https://github.com/InjectiveLabs/sdk-python/blob/aa191ae2bd002aa3a3ca558712da0ce80ad3f8f1/pyinjective/utils/utils.py#L25-L51. The main docs (https://api.injective.exchange/) assume you're using higher level libraries. But if someone just wanted to directly send a transaction to the network without an SDK, are there descriptions on these types of scaling transformations (and all the other stuff the sdks add on) anywhere?

topaz seal
#

Hello bird. There is currently no explicit documentation about that. But you can perform the transformation using the decimal places associated to each token. To know them you can check the markets information (for example, for spot markets https://api.injective.network/api/exchange/spot/v1/markets you will find the baseTokenMeta and quoteTokenMeta for each market)

hallow dome
#

Kk

winged vector
topaz seal
#

yes, that is correct

karmic tulip
frosty kiln
quiet horizon
#

Ok, so I wouldn’t be using the injective-std module? That seemed more applicable as it appeared to be a fork of wasm-std

frosty kiln
frosty kiln
#

otherwise injective-cosmwasm can be used for Injective specific messages

quiet horizon
#

Ah, makes more sense. Thanks!

hexed locust
#

Achilles told me to ping you Abt this

austere bobcat
spare shuttle
#

I try to run the python script for opting out from trading rewards
https://github.com/InjectiveLabs/sdk-python/blob/master/examples/chain_client/24_MsgRewardsOptOut.py

When I change the network to mainnet and run the script, I get the below error:

.local/share/virtualenvs/sdk-python-VHfiWmFQ/lib/python3.11/site-packages/pyinjective/async_client.py", line 231, in renew_cookie
expires_at = cookie.get(f"{self.cookie_type}").get("expires")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

GitHub

Injective Exchange API for Python clients. Contribute to InjectiveLabs/sdk-python development by creating an account on GitHub.

#

any idea why?

quiet horizon
#

@frosty kiln in the cosmwasm-std lib i can only find the msgInstantiate struct but not the function to actually execute it... am i missing something?

topaz seal
spare shuttle
#

any idea why?

spare shuttle
#

The error occurs when simulating the tx

foggy jasper
#

I'm confused here, after cloning the injective dex exchange GitHub repository I can't find where the token exchange price come from the code from swapping, I saw so many files and there's no speration of frontend and backend

spare shuttle
# spare shuttle Thank you for the info. I get the following error now: Error parsing 'content-...

When I change the network node to sentry such as:
network = Network.mainnet(node="sentry0")

I get error :
<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9900: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9900: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER {grpc_status:14, created_time:"2023-08-26T14:27:03.211281+02:00"}"

#

the strange is that the error only occur on mainnet and not testnet

#

I'm using python 3.11 that uses gRPC Version 1.54.2

#

does anyone know why I'm getting this error?

quiet horizon
#

im sorry, im new to rust

frosty kiln
quiet horizon
#

isnt that a struct tho?

frosty kiln
quiet horizon
#

trying to build a script to instantiate a contract from a codeid

#

as far as i understand, the response/result stuff is for returning from a smart contract

frosty kiln
quiet horizon
#

but there's only Typescript docs. Is there a way to do it in rust?

frosty kiln
quiet horizon
#

i'd like to do it without injectived, hence the script

frosty kiln
quiet horizon
#

I skipped past the cli part as i'd like to do it with code

frosty kiln
quiet horizon
#

i see, thank you

frosty kiln
#

but this is not the Rust you write for smart contracts

quiet horizon
#

yeah i know

#

thanks for all your help!

topaz seal
quiet horizon
#

If a smart contract has no admin, can anybody execute messages on it, or nobody?

spare shuttle
quiet horizon
#

How can i derive a mnemonic from a private key and back?

spare shuttle
hoary narwhal
#

Exchanges who originate orders into the shared orderbook on Injective's exchange protocol are rewarded with 40% of the trading fee arising from orders that they source. How does this happen, where do we set our address in the config to get that 40%?

primal terrace
primal terrace
quiet horizon
#

how can i get a cosmrs::crypto::secp256k1::SigningKey from a string bip32 private key? there's no from_str impl

hoary narwhal
hoary narwhal
#

The fee recipient address i.e your relayer's address* so it's simply an Injective wallet address?

winged vector
# topaz seal yes, that is correct

I'm still struggling a bit to understand the big picture related to the different scaling numbers used throughout the injective system.
One thing I don't get, in the functions spot_price_to_backend and spot_price_from_backend in: https://github.com/InjectiveLabs/sdk-python/blob/master/pyinjective/utils/utils.py why the is scaling factor different when converting a number spot_price_to_backend (scale_price = Decimal(18 + denom.quote - denom.base)) vs spot_price_from_backend (scale = float(denom.quote - denom.base)). Is it just that the indexer happens to store it differently? Is there a reason that it does?
I just keep seeing numbers in the data in a form I don't quite expect or that seem inconsistent to me, and I think I'm missing some big picture idea that would be useful to understand before I start to implement more endpoints for my java client, but I'm not sure where to start. Any tips?

topaz seal
winged vector
#

But then why doesn't the indexer data just use those same units instead of introducing a 3rd set of numbers?

topaz seal
buoyant stump
dark moon
#

hey quick question after breaking my head over it. whats the best way to retreive assets metadata from injective such as denom decimals etc??

tall bronze
#

Error: must contain at least one message: invalid request [!injective!labs/cosmos-sdk@v0.47.2-inj-3/baseapp/baseapp.go:528] With gas wanted: '0' and gas used: '5720'

What's this? When i try to broadcast a txn

topaz seal
topaz seal
broken scarab
#

I 'm working on cache service and faced with a problem:

When the user performs a delegate transaction, the amount is 27197749999999999204 https://www.mintscan.io/injective/transactions/D1EE5FE20150205F7B5C5ED97241FA375502251AAE008AA42CF57B94961863D9
balance straight after tx is 27197749999999999999

BUT when I call balance check /cosmos/staking/v1beta1/validators/injvaloper1acgud5qpn3frwzjrayqcdsdr9vkl3p6hrz34ts/delegations/inj19jtzpsp086py54h5pueqnpe8w74fdza960sh2g
it returns 27197750000000000000

Is there a rounding? if yes when does it work? or someone could share a link to source code?

topaz seal
tall bronze
topaz seal
tall bronze
topaz seal
#

yes, as long as the transaction is correctly created, that flow sounds good

dark moon
topaz seal
#

yes, like that one

tall bronze
kind flare
tall bronze
#

so i can create txn, sign and broadcast in frontend without any risk?

kind flare
#

It's an API call ... It's like saying to create a backend to query the chain or twitter API or w/e

#

There are no secret keys or some logic that could cause a security concern for the user. The security is on the Wallet side, you are just generating a transaction and the user can decide whether to sign or not on their wallet.

Abstracting away the call to an API would make sense if you have some private key that you would store on the server and you don't want to expose it to the public. Right now you are making unnecessary abstractions that provide no value and no security improvements. You are just passing along the values between client/server/chain i.e the server part is redundant because it doesn't do anything

tall bronze
#

Thanks

broken scarab
#

I 'm working on cache service and faced with a problem:

When the user performs a delegate transaction, the amount is 27197749999999999204 https://www.mintscan.io/injective/transactions/D1EE5FE20150205F7B5C5ED97241FA375502251AAE008AA42CF57B94961863D9
balance straight after tx is 27197749999999999999

BUT when I call balance check /cosmos/staking/v1beta1/validators/injvaloper1acgud5qpn3frwzjrayqcdsdr9vkl3p6hrz34ts/delegations/inj19jtzpsp086py54h5pueqnpe8w74fdza960sh2g
it returns 27197750000000000000

Is there a rounding? if yes when does it work? or someone could share a link to source code?

topaz seal
#

@frosty kiln

gentle ether
#

Is Testnet down right now?

topaz seal
#

yes, it is

#

It is being updated

gentle ether
winged vector
dreamy tiger
#

yes it is

scenic crane
#

Howdy guys, perhaps im in the wrong place but:

I wanted to discuss the possibility of securing a few "inj domains." Several NFT project leaders, including myself, are interested in obtaining these domains, both for our project and to support our community. While we understand that we may not require as many as the largest dApps, we would greatly appreciate any allocation you could provide.

Please let me know your thoughts on this request, and we can discuss it further.

frosty kiln
#

wait I actually don't see 27197749999999999204 anywhere

#

not sure where you found that

shrewd osprey
quiet horizon
#

You can also change it

inner mauve
#

I need help, how to build project NFT on Injective?

oblique moat
#

when can I find the github repo about Solana Rollup for Cosmos?

tall bronze
#

What's the problem here?
Error
Type 'MsgSend' is not assignable to type 'Msgs | Msgs[]'. Type 'MsgSend' is not assignable to type 'MsgRewardsOptOut'. The types returned by 'toProto()' are incompatible between these types. Property 'sender' is missing in type 'MsgSend' but required in type 'MsgRewardsOptOut'.ts(2322)

Code
const msg = MsgSend.fromJSON({ amount: { denom: coinDenom, amount: new BigNumberInBase(1).toWei().toFixed() }, srcInjectiveAddress: address, dstInjectiveAddress: dstAddress, }); const broadcast = await msgBroadcastClient.broadcast({ injectiveAddress: accounts[0].address, msgs: msg, });

kind flare
kind flare
# tall bronze both 1.12.1

again, that's the issue, check your yarn.lock, I'm positive that you'll find different versions of the @injectivelabs/sdk-ts

kind flare
tall bronze
broken scarab
quiet horizon
#

The funds parameter allows you to send money the contract right?

#

Or is that for fees

quiet horizon
#

how can i execute a message to a contract within a contract

prisma nebula
#

I am setting up hummingbot for trading, but ran into issues with the configuration, more specifically - the account delegation part explained here:
https://github.com/hummingbot/hummingbot/blob/master/hummingbot/connector/exchange/injective_v2/README.md

I've created a subaccount moved the funds in there, but struggling to grant the permissions...
used this template https://github.com/hummingbot/hummingbot/blob/master/hummingbot/connector/exchange/injective_v2/account_delegation_script.py

I was not able to solve with HB team.
can someone from the team help?

Thanks

GitHub

Open source software that helps you create and deploy high-frequency crypto trading bots - hummingbot/hummingbot

GitHub

Open source software that helps you create and deploy high-frequency crypto trading bots - hummingbot/hummingbot

topaz seal
prisma nebula
# topaz seal We can try to help, but we would need to know what the problem is first

Sure. I've setup the account, subaccount in the UI and deposit funds in the subaccount. Configurated the hummingbot client but failing to create any order...
Error - Failed to submit buy order to Injective_v2_perpetual. Check API key and network connection.
Then I learned that I have to make a tx to grant a permission.
Used the template script account_delegation.script.py to make the one-time tx.
However the script is failing using the mainnet:

E0907 140407.595199000 13026267136 hpack_parser.cc:992] Error parsing 'content-type' metadata: invalid value
<AioRpcError of RPC that terminated with:
status = StatusCode.UNKNOWN
details = "Stream removed"
debug_error_string = "UNKNOWN:Error received from peer {created_time:"2023-09-07T14:04:07.868697+02:00", grpc_status:2, grpc_message:"Stream removed"}"

#

seems like there is an issue with the network client..

topaz seal
#

What is the configuration you use for NETWORK in the script?

#

try with NETWORK = Network.mainnet(node="sentry0")

prisma nebula
# topaz seal try with `NETWORK = Network.mainnet(node="sentry0")`

tried
E0907 162756.473261000 13086330880 ssl_transport_security.cc:1421] Handshake failed with fatal error SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER.
<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9900: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9900: Ssl handshake failed: SSL_ERROR_SSL: error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER {grpc_status:14, created_time:"2023-09-07T16:27:56.519719+02:00"}"

quiet horizon
#

@frosty kiln Getting this error when using the injective testnet GRPC in my script:
"h2 protocol error: http2 error: connection error detected: frame with invalid size\"

#

It works fine with a 3rd party node but I can’t find their testnet node

topaz seal
prisma nebula
# topaz seal You need to replace also `client = AsyncClient(NETWORK, insecure=False)` for `cl...

good. now I get this error message:
"grantee and granter should be different With gas wanted: '0' and gas used: '16016' "

let's make sure I use the correct address details... GRANTER_ACCOUNT_PRIVATE_KEY (exported from metamask) and GRANTEE_PUBLIC_INJECTIVE_ADDRESS (inj address) is the same account, right? So I created wallet with metamask on Ethereum and use that private key...the Inj address was generated. Is that OK?

topaz seal
#

No, as the error message states, they are suppossed to be differente accounts (and always the Injective account, not the one provided by Metamask).
The only thing useful from metamask is the private key, but nothing else

prisma nebula
#

yes, I only used that private key from metamask. do you mean I need to create a new address for the delegated account? this is quite confusing. any docs explaining this process would be helpful. I am not yet familiar with the injective protocol..

eager plinth
#

@prisma nebula

#

@prisma nebula Additionally you have to populate either the SPOT_MARKET_IDS or DERIVATIVE_MARKET_IDS with the list of traded pairs

topaz seal
#

Let me paste here what the README file states about the delegate account mode:

When configuring the connector with this mode, the account used to send the transactions to the chain for trading is not the account holding the funds.
The user will need to have one portfolio account and at least one trading account. And permissions should be granted with the portfolio account to the trading account for it to operate using the portfolio account's funds.

#

I believe it is clear there that you need two accounts

prisma nebula
# eager plinth <@461549831782137856>

MARKET_IDS I have populated. it looks OK in the Helix app UI. I can trade with the subaccount. Still confused why I need different account to trade programatically...

eager plinth
topaz seal
prisma nebula
prisma nebula
eager plinth
#

@prisma nebula
Try this: Create yourself a new account and just transfer INJ to it (to pay for the gas). Then run the script, placing the new account as the grantee and the old account where you hold the rest of the assets as the granter
Then, with these 2 accounts, what you will need to setup the connector is 4 things:

  • The private key of the grantee (the new account)
  • The subaccount number of the grantee (where INJ will be consumed for gas)
  • The public inj address of the granter
  • The subaccount of the granter (where assets used for trading will live)
#

The nice thing about it, is that granter can have N subaccounts, each one of them with different assets, and can delegate trading capabilities to N grantee accounts so each one of them trades within that subacct and only that subacct.
It resembles a big hedge fund with different accounts, and N traders managing just a single trading pair. Can you see it? 🙂
Custody of the assets is done by a single account and traders have limited subacct trading

prisma nebula
topaz seal
buoyant jewel
#

If you're blockchain dev or full stack developer react to this

true swift
#

Is it possible to compile injective-exchange? Haven't found a repo to do it.

lime mountain
true swift
#

No, I mean to compile the injective-exchange from source. Instead of downloading it from the repo that has the binaries available in a zip format

lime mountain
#

Sorry, not sure what you mean by compile, mind explaining?

true swift
#

Yeah, for the example I can:

cd injective-core
make install
#

As a resulta I'll get an injectived binary

#

I would like to make the same for the inective-exchange binary

lime mountain
#

@topaz seal

topaz seal
#

As far as I know that is not possible. @tall plover or @primal terrace can provide more information about that

primal terrace
# true swift I want to get the same binaries I can download from https://github.com/Injective...

injective-exchange is an old monolithic binary for the indexer. injective-indexer is the new binary but this is not open-sourced. You can use a public docker image here if you want: https://gallery.ecr.aws/l9h3g6c6/injective-indexer

Does this cover your needs/what do you want to do exactly?

true swift
#

Yeah, thanks @primal terrace

prisma nebula
topaz seal
#

What version of the SDK are you using, and how are you creating the Network instance?

quiet horizon
#

im trying to execute my contract and i'm getting a submessage error, and i think i know the issue but wanted a second opinion, could this error be caused by a malformed address?

prime quest
#

I need to write an NFT contract address. Are there any documents about this? Is there any source or github link about this? I just want to create a contract address and a few features.

primal terrace
primal terrace
quiet horizon
#

@primal terrace could i put a dev bounty here

prisma nebula
# topaz seal What version of the SDK are you using, and how are you creating the Network inst...

injective-py 0.6.5

NETWORK = Network.mainnet(node="sentry0")

when this node is set, the delegation tx runs ok.
but the same node in hb client throw this error:

`15 - hummingbot.connector.exchange.injective_v2.data_sources.injective_grantee_data_source.InjectiveGranteeDataSource - ERROR - Error while listening to transaction stream, reconnecting ... (<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9911: tcp handshaker shutdown"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:15.235.86.222:9911: tcp handshaker shutdown {created_time:"2023-09-11T07:55:53.970141693+00:00", grpc_status:14}"

)`

and vice versa
NETWORK = Network.mainnet(node="lb")

this node gives error in account delegation script:

`<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNAVAILABLE: ipv4:34.111.111.67:443: Socket closed"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNAVAILABLE: ipv4:34.111.111.67:443: Socket closed {grpc_status:14, created_time:"2023-09-11T10:01:16.926858+02:00"}"

`

but runs ok in hb client

topaz seal
#

Regarding the error when running the bot, it states that there was a connection issue with the streams, and will reconnect. As long as it reconnects, it should not be considered an error

empty kettle
#

I have one question about injective-ts.
What should I do to upload the wasm file to testnet using JS, not browser dapp?
I am much familiar with cosmjs use. I can uploade/instantiate/execute wasm contract easily, using cosmjs.
I would like to know how to do that using injective-ts packages.

primal terrace
empty kettle
primal terrace
prisma nebula
empty kettle
# primal terrace <@228167691825840129> can help verify if we have something equivalent in sdk-ts.

I have another question.
This is the script I built to upload the wasm to injective testnet.

  const code = fs.readFileSync(wasmFilePath);
  const msg = MsgStoreCode.fromJSON({
    sender: adminInjAddr,
    wasmBytes: code,
  })
  const uploadRes = await msgBroadcasterWithPk.broadcast({
    injectiveAddress: adminInjAddr,
    msgs: [msg],
    gas: {
      gasPrice: "700000000inj",
      gas: 2000000,
    }
  });
  console.log(uploadRes);

Unfortunately, this tx gives me the following error response.

Error: math/big: cannot unmarshal "NaN" into a *big.Int: tx parse error
    at TxGrpcApi.<anonymous> (/home/testing/node_modules/@injectivelabs/sdk-ts/src/core/modules/tx/api/TxGrpcApi.ts:187:40)
    at Generator.next (<anonymous>)
    at fulfilled (/home/testing/node_modules/@injectivelabs/sdk-ts/dist/cjs/core/modules/tx/api/TxGrpcApi.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5) {
  type: 'chain-error',
  code: -1,
  originalMessage: 'math/big: cannot unmarshal "NaN" into a *big.Int: tx parse error',
  name: 'TransactionException',
  errorClass: 'TransactionException',
  context: undefined,
  contextModule: 'sdk',
  contextCode: 2
}

Anyone can take a look & let me know what's wrong?
Thanks in advance!

topaz seal
#

@kind flare

kind flare
kind flare
quiet horizon
#

I have written a contract, and would like to be able to query another contract from my main contract. How can I do this?

prisma nebula
empty kettle
primal terrace
primal terrace
empty kettle
prisma nebula
# primal terrace Can you elaborate on what you mean by "losing connection"? What's the error?

`ERROR - Error while listening to transaction stream, reconnecting ... (<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:15.204.208.167:9911: Failed to connect to remote host: Connection refused"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:15.204.208.167:9911: Failed to connect to remote host: Connection refused {created_time:"2023-09-11T19:18:36.974968775+00:00", grpc_status:14}"

)`

primal terrace
primal terrace
empty kettle
primal terrace
empty kettle
empty kettle
#

Oh, no, the channel is not active. @primal terrace

 cannot send packet using client (07-tendermint-121) with status Expired: client state is not active

Is there any other channels I can try?

primal terrace
empty kettle
prisma nebula
primal terrace
empty kettle
primal terrace
#

Other chains like CosmosHub have low unbonding periods so the channel would often expire. Evmos has 21 days like us and it's a good fit.

#

CosmosHub testnet is 1 day

empty kettle
#

Thanks so much for detailed help! @primal terrace

prisma nebula
# primal terrace For the time being yes.

just tried to setup a new account using lb node and injective-py 0.7.2.1 and it doesn't work
`<AioRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNAVAILABLE: ipv4:34.111.111.67:443: Socket closed"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNAVAILABLE: ipv4:34.111.111.67:443: Socket closed {created_time:"2023-09-12T14:20:24.261558+02:00", grpc_status:14}"

`

while the sentry0, node works. I mean the delegate_account transaction...

Could you please elaborate what "Indexer Explorer API" is and how it relates to Python SDK?

primal terrace
topaz seal
#

We are working in a connector update to support the latest SDK version @prisma nebula

quiet horizon
#

how can i use make this query in my contract? idk how to type it, should i make a custom type for it and parse it as that?

kindred lodge
#

Would love to explore an infrastructure with Injective, is there anyone from the team that I could discuss this with? Thanks

tall plover
chilly bolt
#

help with this, trying to create client for relayer ... Failed to query clients {"chain_id": "injective-888", "attempt": 4

topaz seal
#

It is not clear at all what you where trying to do or how you were trying to do it. It is going to be completely impossible to provide any assistance with that kind of question

frosty kiln
#

use the cosmwasm-std smart query

#
let msg = QueryAllocatorMsg::GetActiveRewardDenoms { lp_token };
let active_denoms: HashSet<String> = querier.query_wasm_smart(allocator_contract, &msg)?;

This is an example usage from one of my contracts

quiet horizon
#

Also, if my query returns an address, how do i know if the type will be string or address?

frosty kiln
frosty kiln
strange bridge
#

I got an error like this

#

Here is the debug log too

#

??

primal terrace
empty kettle
#

I have one question about injective chain.
Is there cw20 token in the injective chain?
Injective chain only work with native tokens like Osmosis chain?

loud elm
#

Ninjas 🥷 I have development skills in JavaScript, PHP, C#, html, CSS etc. but no blockchain dev experience. I was thinking long time about developing a dApp in the Injective Ecosystem.
A have a few questions on fellow BUILDERS:

  1. How do I get best started to gain some knowledge quickly?
  2. Is anybody here building something who needs help ( I am gaining knowledge fairly quick - so I would help building to gain ground)
  3. Networking networking networking 🙂
tall plover
pure elbow
#

guys, how create my own NFT collection?
can't find anything in docs about that

austere bobcat
pure elbow
thin karma
#

Any idea why do I get this error

buoyant jewel
#

Bullish on you

#

Buildoors!

umbral linden
#

How can I set query gas limit when I using ChainGrpcWasmApi.fetchSmartContractState
I get error message like this:
Error: codespace sdk code 11: out of gas: out of gas in location: Wasmer function execution; gasWanted: 3000000, gasUsed: 3000000

tranquil glacier
#

Could you guys share your thoughts on our oracle solution that we are working on?
https://github.com/Snedashkovsky/on-chain-registry
It’s called On-Chain-Registry and we hope it will solve all the Cosmos SDK metadata mess and help developers build web3 applications.

GitHub

asset list of cosmos-sdk based chains. on-chain data only! - GitHub - Snedashkovsky/on-chain-registry: asset list of cosmos-sdk based chains. on-chain data only!

umbral linden
#

When I tried to get smartcontract state using injectived command like this:
injectived query wasm contract-state smart $CONTRACT_ADDRESS "$GET_USER_LIST" --output text

I get this error:
Error: rpc error: code = Unknown desc = out of gas in location: Wasmer function execution; gasWanted: 3000000, gasUsed: 3000000: out of gas: unknown request

How can I set gas to get contract state?

frosty kiln
bitter hinge
umbral linden
bitter hinge
night crag
#

in the sdk-ts Core modules -> exchanges
https://docs.ts.injective.network/core-modules/exchange#msgcreatederivativelimitorder
I don't see any mention of reduce_only either for limit order or market order
I also looked at the sdk code
https://github.com/InjectiveLabs/injective-ts/blob/dev/packages/sdk-ts/src/core/modules/exchange/msgs/MsgCreateDerivativeLimitOrder.ts
https://github.com/InjectiveLabs/injective-ts/blob/dev/packages/sdk-ts/src/core/modules/exchange/msgs/MsgCreateDerivativeMarketOrder.ts
but I did not see the property anywhere and the InjectiveExchangeV1Beta1Exchange.OrderType used here cover post_only and other boolean python version but does not cover this case, it is however present on the python version
https://api.injective.exchange/?python#derivatives-msgcreatederivativemarketorder
how to handle this?
can I alter the message in some way before broadcasting to include this property?
or did i miss something?
thanks

GitHub

Collection of TypeScript packages that consume and interact with the Injective Chain - InjectiveLabs/injective-ts

GitHub

Collection of TypeScript packages that consume and interact with the Injective Chain - InjectiveLabs/injective-ts

umbral linden
#

Is it possible to deploy a new contract in other one, on injective chain?

primal terrace
primal terrace
night crag
tall bronze
#

code: 11 codespace: sdk data: "" events: [] gas_used: "0" gas_wanted: "0" height: "0" info: "" logs: [] raw_log: 'out of gas in location: txSize; gasWanted: 2000000, gasUsed: 5468461: out of gas' timestamp: "" tx: null txhash: 2B34CF230572B7866A401479F73C0FFC515BD3C15FB1344EF762000DC5E5E21F

what's the error here?

primal terrace
random sky
#

is there any doc for inEVM?

tall plover
#

We are going to release one in the coming days

random sky
barren storm
#

Builder here with a grant application that's ready to go(and a product that has been live for nearly a year now, we are about to start working on our next steps/features) but I wanted to discuss some more details and possibly jump on a call before sending it in 02 any way to create a group chat or something of the likes? 🙂

vivid elbow
#

Hello!
We just published part 1 of the writeups for the Oak Security CosmWasm CTF that took place in July during AwesomWasm. Please check them out to learn about smart contract security and common vulnerabilities https://medium.com/oak-security/capture-the-flag-️writeups-awesomwasm-2023-pt-1-a40c6e506b49

Medium

Here you have our official solutions for all the Oak Security CosmWasm CTF challenges. This post will be the first part of two, enjoy our…

barren storm
short arrow
#

From Vanguards INJ an NFT collection

We're working on a token marketplace, so we'd need a permissionless upload so as to get the token marketplace live on inj chain

primal terrace
short arrow
short arrow
random sky
#

How can i take a snapshot of nft collection?

primal terrace
icy crypt
#

I was told in the support channel to post my question here instead: When looking at Injective Explorer transactions, why do I see multiple _MsgDepositClaim each time I bridge into INJ mainet? I see 1 trx, then 2 more the next day, another the following, and then again the following month. I'm very confused. There's nothing I can compare it too because no other explorers (even mintscan) contain full trx history. I can't find a working REST endpoint with full trx history either.

severe thorn
primal terrace
severe thorn
tall bronze
#

Hello!
must_pay(info: &MessageInfo, denom: &str) from cw_utils can accept factory/inj...../token_name as denom?

loud elm
tall bronze
frosty kiln
tall bronze
topaz seal
#

Hello @icy crypt, that does not sound as the expected behavior. But it will be difficult to analyze it without more information. Could you provide some guidelines on how to reproduce the behavior? If you could provide some transaction ids that would be ideal

frosty kiln
#

make sure the token denom actually exists in the bank supply

tall bronze
frosty kiln
#

that should be fine

tall bronze
#

Hmm

tall bronze
wooden bough
#

Wow

tall bronze
# frosty kiln that should be fine
            if
                util::get_token_amount(
                    deps.querier,
                    Denom::Native(cfg.reward_token.clone()),
                    env.clone().contract.address.clone()
                )? < token_amount
            {
                return Err(crate::ContractError::InsufficientCw20 {});
            }

            let reward_msg = util::transfer_token_message(
                Denom::Native(cfg.reward_token.clone()),
                token_amount,
                info.sender.clone()
            )?;


pub fn transfer_token_message(
    denom: Denom,
    amount: Uint128,
    receiver: Addr
) -> Result<CosmosMsg, ContractError> {

    match denom.clone() {
        Denom::Native(native_str) => {
            return Ok(BankMsg::Send {
                to_address: receiver.clone().into(),
                amount: vec![Coin{
                    denom: native_str,
                    amount
                }]
            }.into());
        },
        Denom::Cw20(native_token) => {
            return Ok(CosmosMsg::Wasm(WasmMsg::Execute {
                contract_addr: native_token.clone().into(),
                funds: vec![],
                msg: to_binary(&Cw20ExecuteMsg::Transfer {
                    recipient: receiver.clone().into(),
                    amount
                })?,
            }));
        }
    }
}

here i have same problem: Error: failed to execute message; message index: 0: dispatch: submessages: : invalid coins

tall bronze
#

@kind flare can u help me here?

frosty kiln
tall bronze
#

That executes this operation

frosty kiln
#

CLI ? SDK ? Frontend ?

tall bronze
#

Frontend

frosty kiln
#

which one?

#

or you mean its your own frontend?

tall bronze
#

Its own frontend

frosty kiln
tall bronze
#

||pub fn transfer_token_message(
denom: Denom,
amount: Uint128,
receiver: Addr
) -> Result<CosmosMsg, ContractError> {
match denom.clone() {
Denom::Native(native_str) => {
return Ok(
(BankMsg::Send {
to_address: receiver.clone().into(),
amount: vec![Coin {
denom: native_str,
amount,
}],
}).into()
);
}
Denom::Cw20(native_token) => {
return Ok(
CosmosMsg::Wasm(WasmMsg::Execute {
contract_addr: native_token.clone().into(),
funds: vec![],
msg: to_binary(
&(Cw20ExecuteMsg::Transfer {
recipient: receiver.clone().into(),
amount,
})
)?,
})
);
}
}
}||

let reward_msg = util::transfer_token_message( Denom::Native(cfg.reward_token.clone()), token_amount, info.sender.clone()

#

return Ok( Response::new() .add_message(reward_msg) .add_attribute("action", "claim") .add_attribute("address", info.sender.clone().to_string()) .add_attribute("claimed_amount", amount) );

#

I think if i use "inj" as denom works

#

But token factory seems not working

frosty kiln
tall bronze
raw fox
#

@frosty kiln
i am encountering a problem , i am trying to run a basic counter contract and want to deploy it on injective, i haven't interacted with any cosmos chain so i am facing a bit problems , can you please help me fix this problem

#

Today around 2 pm

primal terrace
raw fox
primal terrace
#

If so try replacing the image with this version: public.ecr.aws/l9h3g6c6/injective-core:v1.11.6-rc0

#

And let me know if it works

tall bronze
mighty gate
frosty kiln
vivid elbow
#

Hello!

The final writeup of Oak Security's AwesomWasm CTF is finally out! https://medium.com/oak-security/capture-the-flag-️writeups-awesomwasm-2023-pt-2-cb3e9b297c0

The challenges will always be available in our GitHub for everyone who wants to learn about Cosmwasm security 🙂 https://github.com/oak-security/cosmwasm-ctf

Medium

Welcome to our official solutions for all the Oak Security CosmWasm CTF challenges! This post is the second part of two, please visit Part…

GitHub

Contribute to oak-security/cosmwasm-ctf development by creating an account on GitHub.

tacit frigate
#

how many gb is an injective full node data size?

mighty gate
primal terrace
ornate agate
#

i want to deploy to injective mainnet network suppose I have developed contract and account with INJ tokens. how to do that without running your own node bc i have an error
Error: post failed: Post "http://localhost:26657": dial tcp [::1]:26657: connect: connection refused

while following official doc https://docs.injective.network/develop/guides/cosmwasm-dapps/Cosmwasm_CW20_deployment_guide_Mainnet/#submit-a-code-upload-proposal-to-injective-mainnet

and i guess it is bc i going without my node. How can i do that. THanks

This guide will get you started with the governance process of deploying and instantiating CosmWasm smart contracts on Injective Mainnet.

primal terrace
void crescent
#

can anyone please provide me a repo on how to build a basic dapp on injective? i am completely new to cosmos ecosystem
i do know some rust so i just want to get started , is there any repo from which i can code along or build on top of it?

austere bobcat
void crescent
#

thank you

vestal venture
#

just trying to write a transfer NFT message. Just wondering what the proper layout would look like. Can i copy the message in Injective Explorer just change obvious sender, recipient?
i.e.
{
sender: inj1nt6ns8kdkwa76dwyn2uv70x6xyxjvacr56jqe2
contract: inj1j8d8h283splhwddy5qyk8w2mja0hkmw0hqw7th
msg: {"transfer_nft":{"recipient":"inj1t79vtqynmzmwm9fxq09xjmq3zr3saxurcapje5","token_id":"337"}}
funds: 0
}

Does the message section need to be encoded in base64?

vestal venture
#

or would it look like this :
{
"sender": "inj1nt6ns8kdkwa76dwyn2uv70x6xyxjvacr56jqe2",
"contract":"inj1j8d8h283splhwddy5qyk8w2mja0hkmw0hqw7th",
"execute_msg" : "{"transfer_nft":{"recipient":"inj1t79vtqynmzmwm9fxq09xjmq3zr3saxurcapje5","token_id":"337"}}",
"coins": []
}

contents of execute message encoded in base 64*

topaz seal
#

You will have to check with the contract owner/author to know what is the expected msg to receive

vestal venture
topaz seal
#

Do you mean you are not creating and sending the transaction programatically, but you are using an app (maybe a webapp)?

zinc thunder
#

what's the best way to index the blockchain very often? what are the limitations of API calls?

#

@tall bronze needs a hand with this

topaz seal
#

It is always better to start by reading the documentation

#

If you want to request information very frequently you should not use the public nodes. You should run your own node, that way you can perform requests as frequently as you want

vestal venture
young crane
topaz seal
tall plover
#

Please don't send download links here

kindred zenith
tall plover
#

For security reasons no download links at all on the server

kindred zenith
#

Injective Assist Chatbot

I'm excited to share a prototype of a new chatbot I've been building for Injective: Injective Assist!

Injective Assist is a conversational AI that can help users with a variety of tasks, including:

Answering questions about Injective and its features

Providing support with using Injective

Helping users to learn more about Injective

I'm still working on Injective Assist, but I'm really excited about its potential to help users get the most out of Injective. I'm also looking for feedback from the community, so please feel free to try out the prototype and let me know what you think.

#

I've removed the link.

#

@tall plover

quiet horizon
#

got a weird wasm error when uploading a contract to testnet:

failed to execute message; message index: 0: Error calling the VM: Error during static Wasm validation: Wasm bytecode could not be deserialized. Deserialization error: "Unknown opcode 192": create wasm contract failed
quiet horizon
#

New weird error:
dispatch: submessages: contract: decoding bech32 failed: invalid character not part of charset: 47

#

this seems to happen on either my attempting to send a CW20 token or trying to send INJ

#

hard to tell

#

@frosty kiln how can i send a tokenfactory denom (factory/inj1d0zfq42409a5mhdagjutl8u6u9rgcm4h8zfmfq/nbla) in a smart contract? i think thats whats causing my bech32 error

modern fiber
#

Is it possible to connect an injective .inj domain using the Name Service to a static website hosted on IPFS? Is there a plance in the .inj Name Service to set an IPSF content hash for an .inj domain?

I want to do this but using Injective rather than Ethereun.
https://dri.es/my-first-web3-webpage

How I built my first web3 website, the web3 services I used, and what I think about web3's potential.

summer ocean
#

Any projects currently on Injective chain or building on Injective and need an Experienced Product designer(UI&UX Designer) and Product Manager

Please reach out to me in DM.

quiet horizon
#

@frosty kiln would Coin{"0", "denom"} be invalid?
or could it trigger an error if accidentally passed into a message?

brittle thunder
fierce kraken
#

how can i succesfully send a transaction on using type script

#

I'm getting address can't be empty as the error

topaz seal
#

Please provide enough information to reproduce the issue

tall bronze
#

Is there a way to handle wasm contract failed error on frontend? With WalletStrategy just receive Wasm ExecuteMsg Failed

quiet horizon
quiet horizon
#

What is code9?

'failed to execute message; message index: 1: Error calling the VM: Error executing Wasm: Wasmer runtime error: RuntimeError: Aborted: panicked at \'called `Result::unwrap()` on an `Err` value: GenericErr { msg: "Querier contract error: codespace: wasm, code: 9" }\'

weak frigate
#

whats the correct way to use multiple signatures in the transaction? im receiving either "invalid number of signer; expected: 2, got 1: unauthorized or unauthorized: signature verification failed; verify correct account sequence and chain-id . i just push another signature to the tx.signatures

shrewd osprey
#

I have quick question now.

#

I'd like to import wallet with mnemonic phrase on ubuntu terminal using injectived;
injectived keys import

Are you able to let me know the correct command to use it?

#

looks it is injectived keys add --recover

#

how can I pass the seed phrase with it?

shrewd osprey
#

I'd try to add wallet on my terminal, but it is asking seed phrase, but I have only private key on my end.
Is there any way to add it with private key instead seed phrase?

topaz seal
void crescent
#

if i fork any popular dex , ex: uniswap and make it run on injective , will i be eligible for hackathon?

tall plover
void crescent
#

okay i got it , can i dm u? i have an idea and want to discuss something

#

or who is the right person with whom i can discuss some ideas about hackathon?

void crescent
#

ah okay thank you!
sent a message there
i meant ,is there anyone from the injective team with whom i can discuss an idea?

tall plover
#

Well, if the devs respond here to you, yes you can

void crescent
#

ok so i am planning to build a dex , which would be a fork of uniswap swap (technically) but with an advanced featuure - which is , you can launch your own tokens from there, add them to pools, see your injective portfolio
etc

#

so it will be probably a lil creative and secure as well
the contracts which i use will be from openzepellin so i was just wondering if we are allowed to fork or not but yea got it now thanks @tall plover

#

oh yea one more question
will it be fine if i deploy it on inEVM

kind flare
#

It's okay to fork some boilerplate or some starter repo - but you need to add your own flare and features that are unique for your product.

void crescent
#

ah ok got it
yeah i meant the same
like by forking - it will still be a lot of process to make it work properly on injective but yea got your point , not doing this for money only will make sure to build it for long run!
thanks for the tip @kind flare

void crescent
#

did u try using ethers lib for verifying?

topaz seal
hard mortar
#

do you guys know what multiple senders not allowed With gas wanted '0' and gas used '20595'
on MsgMultiSend with multiple senders

#

when i deserialized the tx

#

gas_limit: 50000000

#

so im not sure why it says that

topaz seal
#

According to that error message you are not providing any gas allowance for the transaction to run

#

@kind flare

hard mortar
#

gas is set there

#

i just removed signatures

#

unless i need to set gas in some different field than fee:

topaz seal
#

What SDK are you using? Can you share the TX hash?

hard mortar
#

via grpc

#

when i try to broadcast i get empty response not even the hash

hard mortar
primal terrace
#

Can u try the same structure with less inputs/outputs?

hard mortar
#

so it shouldnt be too big

#

with 1 input 100 outputs it works no problem

hard mortar
#

nvm MsgMultiSend is only 1 input

kind flare
#

You can use signArbitrary on the walletStrategy to sign any arbitrary data

#

I don't think its worth it to confirm the ownership of the wallet. Just ask them to sign the transaction and if the ownership is not correct the transaction will fail to verify the signature

kind flare
#

So just validate the signer of the transaction whether is in an array of addresses? Why do you need to add signature verification

barren basin
#

Can i become ambassador ?

lime mountain
random sky
#

How can i check address is a staker or not with an api call?

tall bronze
#

@frosty kiln is there a way to generate a random number via cosmwasm sc?

scenic crane
#

@primal terrace , this is @tall bronze our dev who has developed something like we spoke on DMs

#

could you please get back to me, so we can continue the conversation

median oar
#

How to become ambasador sir

austere bobcat
wild frigateBOT
#
Injective Ninja Masters Ambassador Program <:ninja:923265703539261521>

The Ninja Masters Ambassador Program allows participants to engage with Injective like never before and earn exclusive rewards!

To get started as a Ninja Ambassador you must be:
1️⃣ Following the official Injective Twitter: https://twitter.com/Injective_
2️⃣ Joining the Injective Discord Server 🛠|tasks channel to begin completing short tasks to start leveling up.
3️⃣ Reading the complete program details: https://injective.xyz/ambassador_overview

quiet horizon
#

how can i get the metadata of a factory/.../... token?

buoyant jewel
#

Which method you use to get the metadata of a token will depend on where the metadata is stored. If the metadata is stored on the blockchain, you will need to use a web3 library or API. If the metadata is stored off-chain, you will need to use the URL of the metadata.

buoyant jewel
quiet horizon
#

That also appears to be for NFTs

#

Yeah it is

buoyant jewel
quiet horizon
#

Yes, but the code isn’t the same

#

And the INJ LCD is giving me code 12

#

Same with polkachu

#

Using the minimal denom produces a not found error

topaz seal
quiet horizon
#

Is there any way to do it using the TS SDK?

topaz seal
#

That information is not stored in a common place on-chain. For markets the information is provided by the indexer service, but that is not the case for individual tokens that do not participate in any market. You need to check the token contract definition

quiet horizon
#

Ok. Thanks Abel

topaz seal
#

np

buoyant jewel
raven pasture
#

hey builders

tall bronze
random sky
zinc thunder
#

seems like the devs are all in cosmoverse thingy

#

@tall bronze fix ya name lol

topaz seal
umbral linden
#

Our staking platform works well until 1 week ago.
But now "Broadcast error Error: Transaction was not included in a block before timeout of 15000ms" error occured when users try to stake nfts.
Please let me know how can I solve this issue?

nocturne hemlock
#

i need some explanation about inj domain

quiet horizon
#

i'm trying to instantiate a contract as a submessage of an existing contract. How can i do this and make sure my contract knows the address of the contract it is instantiating?

umbral linden
umbral linden
quiet horizon
umbral linden
#

you can receive deployed contract address in reply callback function

#

using parse_instantiate_response_data function

umbral linden
vivid elbow
#

Hello!

Do you want to learn about CosmWasm smart contract security? Check the following post about address validation and normalization https://medium.com/oak-security/cosmwasm-security-spotlight-3-2b11f36fd61
And don't forget to test you knowledge in the new dojo challenge at https://github.com/oak-security/cosmwasm-security-dojo/tree/main/challenges/05-addressing

Medium

Are you a CosmWasm Smart Contract developer? A random Cosmonaut peeking into this cool tech? A Solidity auditor looking for new knowledge…

GitHub

Contribute to oak-security/cosmwasm-security-dojo development by creating an account on GitHub.

severe reef
#

GMGM everyone, I'm building an NFT project on Injective and my goal is to build a website that has a wallet connect function that retrieves the amount of NFTs a person holds to give them access to certain content on the website.
Is using wordpress a smart thing to do? Any other suggestions? Is it possible for me to do this with close to 0 coding experience? Willing to learn

weak frigate
#

how can i transfer cw20 tokens on injective? (cosmjs/injective sdk-ts preffered)

buoyant jewel
buoyant jewel
random sky
#

how can i see address is staker or not with api call

buoyant jewel
#

If you're a Dev experienced and acquainted with the Cosmos envt.
Hit my dms
I got something for you

reef linden
carmine rose
#

We are making a multi-chain staking dApp, so we are wondering about the grant possibilities, who can I talk to about our grant setup?

ionic oxide
frosty kiln
buoyant jewel
#

@topaz seal

manic ore
manic ore
topaz seal
buoyant jewel
buoyant jewel
topaz seal
#

You can write me, but it is difficult to reply individually. I can't promise anything.

buoyant jewel
topaz seal
#

You can send me a DM and I will try to reply as soon as possible

buoyant jewel
#

Don't wanna clog here up with chats that may seem irrelevant to the channel topic

quiet horizon
#

Do I need to worry about race conditions on my smart contract?

barren magnet
#

Guys, I am interested in writing codes specifically in the field of crypto , tell me please which programming language is best suited for this and most in demand

worn sail
atomic junco
plush oyster
atomic junco
plucky quail
#

cc @kind flare ^

atomic junco
kind flare
atomic junco
#

nice, thank you, hope soon

atomic junco
#

const pubKey = await getPubKey(). where is this function import from sir ?

weak frigate
#

any idea why keplr sign direct gives me different signature than InjectiveDirectEthSecp256k1Wallet.fromKey().signDirect

#
const sigResponse2 = await wallet2.signDirect(account2.address, signDoc2);
const sigResponse3 = await window.keplr.signDirect(
      chainId,
      account2.address,
      signDoc2
    );

console.log(sigResponse2);
console.log(sigResponse3);
#

the one from keplr doesnt work

#

solved, keplr overwrite options were the problem

buoyant jewel
#

How did you debug it?

weak frigate
buoyant jewel
#

Ah! I see

weak frigate
#

how to fetch txs for address with rest?

buoyant jewel
random sky
buoyant jewel
#

Ok

deep dew
#

How to get the connected wallet address if someone connects a Metamask wallet? The injective address.

buoyant jewel
deep dew
# buoyant jewel If you've connected your metamask to an Injective dapp, go to the top right corn...

No, I mean that let's say I prompt the user to connect their wallet on my website and they choose metamask, they successfully connect their wallet, now how do I get the Injective address associated with the metamask wallet which the user connected? I tried using window.ethereum.request({ method: 'eth_requestAccounts' }) but it just returns the Ethereum address, what I'd like to get is the Injective address.

buoyant jewel
#

import { Injective } from '@injective/sdk';

const injective = new Injective();

const connectedWalletAddress = await injective.getConnectedWalletAddress();

buoyant jewel
#

The connectedWalletAddress variable will contain the Injective wallet address of the connected MetaMask wallet.

buoyant jewel
#

All good

deep dew
#

Did find the @injectivelabs/sdk-ts though, in which I am unable to import the Injective class as it does not exists.

buoyant jewel
#

@eager plinth

deep dew
#
// From https://docs.ts.injective.network/wallet/wallet-connections
import { getInjectiveAddress } from '@injectivelabs/sdk-ts'

const getEthereum = () => {
  if (!window.ethereum) {
    throw new Error('Metamask extension not installed')
  }
  
  return window.ethereum
}

const ethereum = getEthereum()
const addresses = await ethereum.request({
  method: 'eth_requestAccounts',
}) /** these are evm addresses */

const injectiveAddresses = addresses.map(getInjectiveAddress)
console.log(injectiveAddresses)

Looking at the above example from the docs, I tried this:

import { getInjectiveAddress } from "@injectivelabs/sdk-ts";
// ...Code
(async () => {
const addresses = await window.ethereum.request({
    method: "eth_requestAccounts",
});

const injectiveAddresses = addresses.map(getInjectiveAddress);
console.log(injectiveAddresses);
})();

But getting this error:

ReactRefreshEntry.js:23 Uncaught Error: Cannot find module './core'
    at webpackMissingModule (ReactRefreshEntry.js:23:1)
    at ./node_modules/@injectivelabs/sdk-ts/dist/esm/index.js (ReactRefreshEntry.js:23:1)
    at options.factory (react refresh:6:1)
    at __webpack_require__ (bootstrap:24:1)
    at fn (hot module replacement:62:1)
    at ./src/app/pages/testing_inj.js (About.js:381:1)
    at options.factory (react refresh:6:1)
    at __webpack_require__ (bootstrap:24:1)
    at fn (hot module replacement:62:1)
    at ./src/index.js (Info.js:286:1)

Is there any issue with installation? There were no errors while installing, I used npm to install, any help appreciated!

#

Also this error on my website page which is not visible on console like the one above(I am using React framework).

deep dew
#
Module not found: Error: Can't resolve './core' in 'D:\project\node_modules\@injectivelabs\sdk-ts\dist\esm'
Did you mean 'index.js'?
BREAKING CHANGE: The request './core' failed to resolve only because it was resolved as fully specified
(probably because the origin is strict EcmaScript Module, e. g. a module with javascript mimetype, a '*.mjs' file, or a '*.js' file where the package.json contains '"type": "module"').
The extension in the request is mandatory for it to be fully specified.
Add the extension to the request.

This too.

digital yarrow
deep dew
kind flare
waxen abyss
#

I wanted to create a testnet denom

waxen abyss
#

Thank you, I will read again.

If I have any question, I can ask you right?

deep dew
deep dew
# kind flare I need to see your code

Its a react app made with create-react-app and this is the code of the component:

import { getInjectiveAddress } from "@injectivelabs/sdk-ts";

export default function App() {
  return (
    <button
      onClick={() => {
        (async () => {
          const addresses = await window.ethereum.request({
            method: "eth_requestAccounts",
          });

          const injectiveAddresses = addresses.map(getInjectiveAddress);
          console.log(injectiveAddresses);
        })();
      }}
    >
      Get Address
    </button>
  );
}
deep dew
kind flare
deep dew
tall plover
autumn thistle
#

Has anyone ever gotten an error message regarding glibc 2.29, because they only have glibc 2.28, when trying to use injective-py on a raspberry?

umbral linden
#

Our dapp use @delphi-labs node-module to wallet connect.
But on mobile, users cant use keplr wallet to access our dapp.
Please let me know which module our dapp need to use.

valid rampart
#

is inEVM a L2 roll up using Ethereum'a security? How about inSVM?

foggy tusk
#

I'm looking for reliable RPC provider for Injective for my (SubQuery) indexer. Public free endpoints are not enough. Can you recommend something? I've looked a bit but couldn't find anything.

foggy tusk
# primal terrace https://docs.injective.network/develop/public-endpoints these?

I've tried https://sentry.tm.injective.network:443 and I get two kinds of errors:

2023-10-19T10:52:17.177Z <api-#3> ERROR Failed to fetch blocks 22186509...22186509 Error: height 22186509 is not available, lowest height is 46466102
INFO: This most likely means the provided endpoint is a pruned node. An archive/full node is needed to access historical data
2023-10-19T10:52:17.188Z <api-#4> ERROR Failed to fetch blocks 22186536...22186536 RateLimitError: Request failed with status code 429
primal terrace
#

Can u DM me to discuss?

zinc thunder
#

@primal terrace @kind flare tagging u two bc i've spoken to you before
Is there a plan to get INJ integrated on ledger? i know i can use erc20 inj but now that inj has its onw seperate blockchain i rather not use bridges

#

and how come im still white label here after all the things we build on inj lol

#

@tall bronze is higher than me xd

kind flare
wide gale
#

Is there a frontend where you can interact with public smart contracts ? Something similar to seiscan

zinc thunder
#

@tall bronze comes second lol

zinc thunder
#

Btw how can one make an on chain randomness

wintry gate
# zinc thunder Btw how can one make an on chain randomness
Injective Blog

Nois is launching a brand new integration with Injective to enable a more transparent and secure Web3 environment via bringing unpredictable and unbiased randomness on-chain. Any developer or dApp within the Injective ecosystem can now utilize the functionalities offered by Nois to create truly unique decentralized systems that are sustainably

#

you can use Noise , its a decentralized oracle that provides reliable and unbiased sources of randomness within distributed networks.

valid rampart
#

bumping on this

hardy osprey
wintry gate
wintry gate
hardy osprey
#

thanks

foggy tusk
zinc thunder
wintry gate
#

This means that any dApp built on Injective can use the Nois functionalities to create innovative and secure decentralized systems . You can read more about the Nois integration and its benefits on the blog post i shared.

jaunty lava
#

I wanna know injective ecosystem Choose to build on Cosmos SDK , amongst others?

wintry gate
# jaunty lava I wanna know injective ecosystem Choose to build on Cosmos SDK , amongst others?

The Injective ecosystem chose to build on the Cosmos SDK because it is like a set of building blocks that developers can use to create custom blockchains. This flexibility is important for building a DeFi ecosystem, as it allows developers to create specialized blockchains for specific DeFi applications.

Try to read the articles on cosmos or there are lots of youtube videos on cosmos and injective you will get more knowledge from that

team will rpl to you in good way !!'

jaunty lava
untold nest
#

How can I migrate my eth dapp to Injective?

#

Can't find any relevant docs

wintry gate
untold nest
wintry gate
wintry gate
jaunty lava
#

Are all projects building on inj ecosystem also built on Cosmos SDK?

ionic oxide
jaunty lava
#

Okay Seranium
Thanks lemme go check it out

Btw I like your name

austere bobcat
#

Could you repeat the question please? @wind stag

wind stag
#

https://friend.tech/injective_ (talking about ETH fees on our official FT, which I hope gets added under official links)

Deploy $INJ on Base? All ETH trading fees received on
@Injective_ friendtech account gets distributed to their Key holders, if possible in $INJ on Base. Sell ETH into $INJ on Base. Which would create another buy back feature for the coin $INJ and reward INJ holders and INJ key holders of Injective account.

#

I'm talking about these fees on Injective FT account.

austere bobcat
#

So it's not question, it's suggestion

#

let someone from the dev team to answer on this, if that's possible

wind stag
#

It was also a question before and a suggestion where to post it. But I didn't get any response from anyone, just a redirection from one place to another or no answer. And the only guy that can handle all this is probably @subtle haven?

austere bobcat
wind stag
#

Eric is the only guy that can connect all the things I think and make it possible. It benefits all of community to prevent impersonators and scammers, $INJ holders and key holders small revenue as INJ buyback. I hope for the best

restive crest
#

Any Injective developer I can have a quick chit chat with please?

lime mountain
#

feel free to ask any question here, devs will answer 🙂

restive crest
#

So as regards the NFT ecosystem, it's been discovered there's no indexer currently which makes the issue of store NFTs a big problem to implement on tooling.

#

Is there no way to get indexer similar to how cw20 tokens are indexed?

#

Most blockchains store some data with the wallet

#

For INJ cw20 is stored with the address but not the nft standard

#

And that limits the possibility of working on any tool in INJ NFT ecosystem

#

Please I need support regarding this as the only platform that can possibly help out with their API has their access locked already

wintry gate
#

@restive crest i think Injective does not have a standard for NFTs yet , as far as i know there is no way to get an indexer similar to how cw20 tokens are indexed on Injective at the moment. but i have heard that injective punks aims to develop an open-source NFT standard for Injective, they are working on it..

#

any devs will solve you query soon here i blv

wintry gate
icy grove
#

I am looking for a platform that can track data on the INJ chain, including wallets, users, transactions, NFTs, and more. Where can I find such a platform?

restive crest
zinc thunder
#

Is it possible to have erc-1155 smart contract build in inj via the inEVM?

spiral remnant
#

@zinc thunder You can use the OpenZeppelin library to create an ERC-1155 contract using Solidity and deploy it on the inEVM using Remix IDE.

deep dew
tall bronze
#

Could it be because i used rust-optimizer-arm64 ? @frosty kiln

tall bronze
#

Nevermind was because i imported a js dependency

deep dew
tall bronze
#

Yeah, all my levels here is thanks to question xD

languid acorn
#

What's good here.

coral glen
zinc hamlet
#

do I need to run a node or be a validator to participate in the open liquidity program?

#

If I want to add liquidity ,and participate in the OLP program, I have to opt out of the T&E program right? So how do I do that? I see the code documentation but, wehre do I enter the code?

#

IS there any good videos or simplifyied steps to this whole OLP program? I really want to throw some liquidity in and participate

#

does the liquidity points only accumulate with the trade is placed? IE the volume?

lime mountain
zinc hamlet
#

but where do we enter the code at?

topaz seal
#

That depends on the script you use. To run the Python script you need to have Python installed for example (Go for the Go script and JavaScript for the TS script)

weak frigate
lime mountain
zinc hamlet
topaz seal
#

You don't interact with Helix, you interact directly with Injective endpoints to trade in the different markets.
Regarding how to execute Python scripts, I would suggest following some online guide. There are many tutorials online on installing Python and running scripts. There is no point on providing those details here.

zinc hamlet
#

okay how can I opt out of T&E ?

#

"the clean slate process" can you help? Where do I input the code

#

again with injective endpoints or something else?

buoyant jewel
zinc hamlet
#

@topaz seal has given me some info, but I need more of the basics, I want to use python, butdon't know here to actually input the code or how to access the INJ endpoints., Please help this noob! 🙂

buoyant jewel
#

You'll have to learn bro
This channel is for "builders"

weak frigate
#

About this topic, can someone explain me in details how it works? Because i assumed by name that i have to provide liquidity to pools but in docs you say i have to make transactions

lime mountain
weak frigate
topaz seal
#

@half charm can help with that last question

zinc thunder
#

Is there some support Inj team provides to dapps in the ecosystem in terms of funds?

austere bobcat
vestal venture
#

@lime mountain would you please be able to pass along a message to Injective team to enable IBC webhooks with Terra? There’s some software I’m waiting on to deploy to Injective and the team have said they are awaiting web hook integration on Injectives end

#

I’ve been told it will probably require a chain upgrade.

If we can do this we can get some seriously good software on Injective which allows for DAO creation, token voting, staking, sharing rewards with the community just general more utility to token and NFT DAOs. It also provides useful tooling for multi-sigs.

lime mountain
#

thank you for the feedback, devs will see your message and give you updates

vestal venture
#

With all the NFT communities currently on Injective it would be a great to see this type DAO infra to be available.

tall plover
#

@plush oyster how much it usually costs to deploy contracts on inj testnet ?

plush oyster
tall plover
#

also is there any way to get a lot of inj faucet in testnet @plush oyster the official site is only giving 10 per day

austere bobcat
#

cc @primal terrace he is whale 072

tall plover
tall plover
austere bobcat
#

you can ask anything here

tall plover
#

ok

austere bobcat
#

When one of our devs is free, they will immediately answer your question

tall plover
austere bobcat
#

Actually i have 100 inj on testnet, i can send you

#

DM me with your INJ address

tall plover
tall plover
late frigate
#

How much is required to create a node please ?

ionic oxide
late frigate
ionic oxide
#

Anyone can run its own node, but in order to get into the active validator set you need to delegate more INJ than the last one.

buoyant jewel
primal terrace
#

You can DM me to discuss

tall plover
tall plover
still niche
#

@tall plover we are with you, can't wait for the product 🔥🤝

tall plover
#

In my application (React + TS) I use keplr to connect the wallet. How can I check what NFTs connected wallet has? Is there any npm library from injective or API for this or do I have to use a smart contract?

south heath
#

Some NFT Builder here ??

heady dragon
#

any nft minting mechanisms info? want to learn about injective nft protocol more

#

such as minting code etc.

scarlet berry
#

I'm a developer and open to collaboration. Hit me up for any fun project ✌️

austere bobcat
weak frigate
#

how can i use injective api with rest? for example balance or orderbook endpoints

weak frigate
kind flare
weak frigate
tall plover
quiet horizon
#

"[reason:\"instantiate wasm contract failed\" metadata:{key:\"ABCICode\" value:\"4\"} metadata:{key:\"Codespace\" value:\"wasm\"}]: rpc error: code = Unknown desc = failed to execute message; message index: 0: Error parsing into type Nebula_Exchange::msg::InstantiateMsg: Invalid number.: instantiate wasm contract failed [!injective!labs/wasmd@v0.40.0-inj/x/wasm/keeper/keeper.go:321] With gas wanted: '50000000' and gas used: '150750' : unknown request"

#

What could cause that?

kind flare
quiet horizon
#

Right, I was looking at the message though and everything seems okay

quiet horizon
zinc hamlet
#

Guys, for the past couple weeks I've been playing around with the SDK from you github and just trying to get far enough along so that I can communicate with the injective endpoints to top out of the Trade and Earn program because I want to participate in the OLP program on Helix.

Is it possible for somebody from the team to help me? Could somebody help me get one address Opted out so I can then put in orders, provide liquidity and participate in the OLP program? If this could be done on the back end by a team member, simply by adding my address to the opted out group that would be great.
Alternatively , could somebody, team member or community member, sit down and spend 10 minutes with me explaining what i'm doing wrong and why I'm getting the errors i'm getting while attempting to communicate with the endpoints?
I'm using Python and windows and I learned the hard way that certain modules of the stack do not yet support python 3.12 so recently had to go back and restart everything with 3.11, I have py-injective installed and stable as well as Poetry. I've learned to set up virtual environments and have changed the environmental variables like path to include where my python repositories are. I just can't get the last little bit of whatever i'm missing to connect and talk to the protocol.

I've frigged around for the whole weekend and can't figure this out so can somebody either help get an address of mine on the OPT out list, or can some kind soul, come on a teams/zoom or skype call and just let me share my screen so they can see what i'm doing wrong. Anything helps. Please!

The new epoch 26 just started for Helix and I have liquidity sitting waiting to be deployed!

Thanks in advance team!

Cheers!

-D

weak frigate
#

How can I create liquidity pool for my own token to make it tradable without inhouse market?

primal terrace
# zinc hamlet Guys, for the past couple weeks I've been playing around with the SDK from you ...

https://docs.trading.injective.network/rewards/open-liquidity-program-olp/eligibility

The address must be opted out of the Trade & Earn (T&E) program prior to the start of the qualification process. The address will not earn T&E rewards during the qualification process. See examples in Python, Go, and TS for opting out programatically.

There are clear examples on how to opt out here in all SDKs.

How to Qualify and Remain Qualified for OLP Rewards

primal terrace
weak frigate
#

where you deposit coin1 and coin2 pair

open hinge
#

I'm looking for a full stack dev

primal terrace
topaz seal
weak frigate
#

or it has to be done with voting etc?

topaz seal
weak frigate
topaz seal
scenic crane
south heath
zinc hamlet
#

UNKNOWN:Error received from peer {grpc_message:"Received http2 header with status: 502

#

for example this is something I get

zinc hamlet
#

<AioRpcError of RPC that terminated with:
status = StatusCode.UNKNOWN
details = "fee payer address: inj138rrz8uxncklqqulfcj7h82nfng5zmpx84tcy5 does not exist: unknown address [/go/pkg/mod/cosmossdk.io/errors@v1.0.0-beta.7/errors.go:153] With gas wanted: '50000000' and gas used: '4705' "
debug_error_string = "UNKNOWN:Error received from peer ipv4:15.204.65.64:443 {grpc_message:"fee payer address: inj138rrz8uxncklqqulfcj7h82nfng5zmpx84tcy5 does not exist: unknown address [/go/pkg/mod/cosmossdk.io/errors@v1.0.0-beta.7/errors.go:153] With gas wanted: '50000000' and gas used: '4705' ", grpc_status:2, created_time:"2023-10-31T13:38:58.0232668+00:00"}"

#

can anyone shed some light?

topaz seal
zinc hamlet
zinc hamlet
#

what does the "AioRpcError" mean?

topaz seal
#

I see the account has balance now, it shouldn't be considerer an invalid account anymore

#

AioRpcError is an exception class from the gRPC library

#

What network are you using in your script?

zinc hamlet
#

mainney

#

*mainnet

#

or do you mean what chain

#

sorry i'm using testnet

topaz seal
#

Ok, I was checking the account in the mainnet explorer, so what I told you before is correct (I asked you to be sure I was checking the correct network)

zinc hamlet
#

thats the issue

#

hang on

#

thanks man stand by I appreciate you helping a noobie

#

damn son it workED!?

topaz seal
#

No problem. You might not be receiving many answers because this is the "builders" channel. But what you are trying to do is not a builders' common action

zinc hamlet
topaz seal
# zinc hamlet damn son it workED!?

Well, that is not surprising really: the example script we suggested you initially has been used by the comunity for a long time. It has been well tested already.

tall plover
#

In my application (React + TS) I use keplr to connect the wallet. How can I check what NFTs connected wallet has? I tried with injective labs ts sdk but I can't figure out how to do this. Do you have any ideas?

kind flare
tall plover
tall bronze
#

@frosty kiln i'm building a sc that triggers on Cw721ReceiveMsg, so i call SC related to a collectionAddr and then my SC is executed. There's a way to send funds on my SC instead of collectionAddr SC?

winged vector
#

I noticed when one message in a transaction is rejected (for example attempting to cancel a previously cancelled order), all other messages in that transaction also fail (for example, unrelated new order placements). Is this behavior documented anywhere? I'm trying to better understand all possible ways an order placement can fail

zinc hamlet
winged vector
zinc hamlet
topaz seal
#

I have seen many transactions in the past were one message fails and the rest succeed @winged vector. Do you happen to have handy a TX hash in mainnet or testnet with the behavior you mentioned?

winged vector
#

yup one sec

topaz seal
#

It should not be the case even in the MsgBatchUpdateOrder, where all orders go in the same message

winged vector
#

a similar buy order does go through if i omit the bad cancel order

topaz seal
#

but this tx only has one message in it

winged vector
#

I see two, though I could be misunderstanding something

topaz seal
#

Sorry, you are right, I copied the link incorrectly

#

let me check again

winged vector
#

thanks yeah i've been meaning to try that one out. And so with the batch update, a fail cancellation (for example) wouldn't cause the whole batch to fail?

topaz seal
#

yes, exactly

#

I have a confirmation. A TX with mutiple messages will fail if one message fail. For that reason the MsgBatchUpdateOrders message was introduced.

winged vector
#

good to know, thanks

tall bronze
tall bronze
zinc thunder
#

bojan is my brate

sinful zealot
#

is there a better wallet SDK then shuttle?

#

like on eth, rainbowkit is pretty slick

tall bronze
thorn lagoon
#

Builder section is for what?

#

How can i build?

austere bobcat
zinc thunder
#

@tall bronze

winged vector
#

is the tendermint websocket connection (using a query of "tm.event = 'Tx' AND transfer.sender = 'myaddress'" basically the fastest way to receive confirmation that a transaction is included on chain, or is there a better way?