Can a single MsgBatchUpdateOrder contain both spot_orders_to_create and derivative_orders_to_create, and if so, is there a deterministic order that these are processed in (ie for nonce assignment purposes)? Edit: I think I found the answer here https://docs.injective.network/develop/modules/Injective/exchange/state_transitions#batch-order-updates
#🚀・dev-support
1 messages · Page 4 of 1
yo team! do you know if during the 3 day qualification period where we have to maintain 0.25% of a given market for the OLP program, Do we get the points we earn during those 3 days or do we start earning on day 4? Thanks!
@half charm
@topaz seal Could you check dm, please? 🙂
do you have more context? of course you can have funds and send funds however you like from an SC
Can I pm u?
How are these last 2 days not eligible? They are both above 0.25% of the total maker vol ? Something doesn't make sense
cc @half charm
Take a look at these 2 addresses and explain to me why one has the Maker Volume Cont of 17.22% and is estimated to get 33k INJ and the other has a Maker Volume Cont of 31% and will only get 600 INJ - literally less than 2% of the other one's rewards and twice the Maker Volume Cont..... can somebody explicitly show how these are calculated. And please don't just link me to the documents i've read them all twice. @half charm
I'm guessing that this is just a bug in the website code here still reflecting the previous 1% threshold vs the new 0.25% threshold right?
by the new rules all of these days should be elligible right?
You start earning on day 4. This is so that MMs are incentivized to not be disqualified between epochs. Otherwise they could requalify and earn rewards in the 3 qualification days, which would defeat the purpose of disqualification
You're right, it should say eligible—we recently pushed the change from 1% contribution to 0.25% but I think we forgot to update the eligibility on the table, only in the section above the table. Will talk to team and fix
I think we might have a bug actually. Will check with the team and see what's wrong
Ya something is not right man
i flagged it earlier but anyways glad ur gunna look into it 🙂
Thanks for letting us know
of course man
also I was originally told that the 0.25% threshold was for each eligible market individually. Why is this not the case? It would align incentives and reduce the amount of very very thinly traded pairs
I'm interested to understand the rationale as to why to qualify for the OLP program one needs to trade upwards of $150,000 per day just to hit that 0.25% benchmark, When many pairs are trading sub $10,000 total
Are these in the Kava rewards dashboard?
nope INJ
Splitting up qualification by markets would make it difficult for MMs to move from one market to another. They wouldn't be able to decide at a given time to start MMing for one market to earn rewards since they would have to go through a 3 day qualification process for that individual market, which would cause issues in the case where fast deployment of liquidity should be rewarded (e.g. in the case where a market experiences a sudden sustained increase in volume).
The above issue basically ensures that only giant players can participate and why there are fewer than 10 players earning in the program. The incentives are upside down and i'll explain why. It works great to provide sound thick liquidity for the highly traded pairs where there is competition, BUT these large players know that the barrior to entry is giant and therefore they can neglect thelower 75 % of the pairs, keeing spreads extremely wide and profitting massively off of them. They know they will also of course keep all the incentives for those markets too. Now if each market was channelled individually (0.25% benchmark again or whatever you want) then the smaller, thinner traded markets would be much more within reach to smaller users AND the rewards would be proportionally incentivizing for them and competition on this lower thinner traded markets would keep spreads as tight there as at the top.
I understand that point but right now there are may markets, even popular chains such as SOL that are untradable due to no liquidity and crazy spreads - if these in dividual markets were individually incentivized I can promise that you would have greatly increased liquidity and better spreads
Can you explain how you got the $150k figure? I think it should be much lower than that
this would benifit the community to and eliminate the dilemma of only have a couple large players needing to choose which market to deploy to and which markets to neglect
seems very opportunistic for them
and 150k for example just look at first 4 days of this epoch - the 31st of Oct for exmaple day 1 - 23.23% of volume is 17.5million
math says that total traded vol = 75.33 million
0.25% of that is $180,000
so I just rounded down to $150k a day
point of the matter is the OLP program isnt for the community at all and is infact the very reason why institutions get to choose which markets they want to provide liq to ----- a prime example is the past 2 weeks, many users on INJ i'm sure would've like to trade SOL without 4% spreads - but again incentives are off
just an observation, and as a community member I was told by a team member it was individually benchmarked at the 0.25% per market and it made sense, but then they later followed up and informed that its not the way it's currently set up.
Another alternative that would fix the problem would be to keep the holistic entire volume threashold but reduce it to 0.01-0.03% of the total volume. That would lower the rate to providing $5000- $30,000 per day - still alot so no jokers would be involved but it might bring the inclusion low enough to the sweet spot of allowing the smaller players to focus on the thinner traded markets and pick up the scraps that are currently being ignored arbitrarily by the 10 addresses currently deciding where to deploy their liquidity.
And i'm not trying to be critical, I actually love the rest of the program, the 3 days wait, the disactivatiom, the delayed distribution of rewards etc... all are well designed tokenomics/incentives, but this is just a glaring issue that is a realatively easy fix IMO to benifit all traders with tighter spreads, less slippage and allow more community memebrs to participate in the OLP itself 🙂
I'll stop ranting, but I'd love to hear your thoughts, also feel free to take it to DMs, i'm always open to discuss tokenomics/incentive structure with team that are proactively improving themselves and stretching the boundaries! @half charm Cheers from Canada!
The first day of the epoch coincidentally was one of the highest volume days we've seen on the exchange, so I don't think it's completely fair to use that as an example. If we exclude the very recent volume spikes, the threshold has historically been much lower than that. We also just lowered the threshold to 0.25% (based on community feedback like yours!), and we don't know if these volume spikes are transient or here to stay, so we can't make sudden changes before we see how exchange volume is trending (the new change has only been live for ~4 days).
The 0.25% threshold was actually meant to bring the threshold to ~$30,000 based on the prior epoch's data, but the timing of the change coincided with some large spikes in volume, which ended up negating much of the effect and bringing the qualification threshold temporarily higher.
Obviously we would love for exchange volume to pick up and stay elevated, and at that point I think it would be good to consider making further changes, including implementation of qualification on a per market basis. We might even consider just using a hard number instead of a fixed % so that qualification is not volume dependent, but again, we need to see how volume trends to avoid constantly making large changes to the program.
It's important to consider the context and timing when analyzing volume spikes and setting qualification thresholds. The first day of the epoch happened to have exceptionally high volume, so it may not be representative of normal trading conditions. Therefore, excluding recent volume spikes may provide a more accurate reflection of historical thresholds.
Well 30k seems more in the ball park and it should be like that or even lower. But the lowest volume day of the epoch still required a MIN of $80k to qualify and due to the way your 3 days of 0.25% works they would again have to trade on average more than 100k for the qualification days thus far..... so that is not cherrypicking and it still is more than 300% of your own claimed target of around 30k
just some food for thought. and you don't need to trust me. again look at the markets you've incentivized - many are untradeable 😦 market makers know the barrier is so high that they can keep spreads unusably wide and profit immensly at the cost of community. AND these 5-10 players choose which markets to neglect, as you said. Again, as an outsider looking in, the incentives are malaligned if the goal is to produce the best market product for commnitty and also incentivise communitty involvement in the OLP program. If the goal is to make 5-10 million$ + players richer, allowing them to choose which markets that are left without liquidity, then the incentives are fine.
This space moves so fast that there isn't really time to wait around once an error has been ididentified. Example is SOL from past 2 weeks. The volume you could have captured but didn't due to mal-aligned incentives is just one ramification of the current set-up not functioning to benefit users or injective protocol adoption, only benefiting the 5-10 already intrenched players.
People will fork and fix the problem, I think you should not delay in adjusting this. A month is a year in this space as we both know
Noted. Will discuss with the team to determine next steps. Are you personally looking to MM? If so would be good to hear how much capital you would be trading with. We would like to gather feedback from the community (esp small MMs) to see what threshold is appropriate
Yup I'm looking to for sure, already doing it and opted out for T& E rewards, but will be going to another address and back to just normally T&E rewards if It remains that we need to trade this $100,000 per day - I have been making about 5-20k/day just started this epoch - because I knew I could provide that much and help out the bottom 75% of "eligible markets that are trading sub 100k / day. So i figured I could hope in and sure up those markets and get 10-80% of their maker vol and help tighten the spreads. The issue is that now I releaized i'm getting nothing for that maker volume so i might as well go back to earning T&E rewards.
To me it's a no brainer to go with a hybrid qualification system of 2-5% of any given individual market, OR 0.25% of total Volume of all elligible markets.
this would keep all the big players AND ensure that the smaller guys to infact have enough capital to provide a sizeable portion of the smaller thinner traded pairs
I provided between 5 - 100% of multiple small markets throughout the past 4 days, greatly increasing liquidity of those markets, but just yesterday realized that I will not be rewarded for providing in some cases all the maker vol for a particular market, just because my total vol isn't that 100k -180k required daily.
So the hybrid eligibility seems like the only sensible way to incentivize efficiently
also is this a bug? this is KAVA rewards and this person is getting the highest rewards of all and the next wallet has traded over 3 million and this dude traded 30k for 1 day then basically nothing.
Where is the backend code for this, does somebody want me to fix it?
seems like the OLP program has a few things that could be improved 🙂
getting account index errors when i run any on-chain stuff in a for-loop
any way to get around this?
if I use different subaccounts to market make on different markets, will my total volume contribution and VIP tier still be counted as a sum of all the subaccounts?
guys, i was given this resource earlier https://lcd.injective.network/swagger/#/
do the team operate this API>
This API is exposed by the chain itself
Please provide more context
I think its based on address, so yeah that should be the case. Maybe @half charm can confirm just to be sure.
great! can you also verify if the data provided here is accurate? https://info.injective.exchange/ is it possible to get data for earlier than 2 months that it is showing here?
i suppose this is operated by the project too?
Yes, it’s accurate but we can’t provide external (public) API right now for these analytics.
any reasons behind this? this is a super important data point and even Defillama only shows your spot volume where as it is in the derivatives market that has the most volume
No specific one, its a grafana instance that does the analytics and they are usually used for internal stats and monitoring, not public ones
As for DeFi Lama, they have been very uncooperative to update how Injective’s stats are being displayed on their dashboard 🤷🏻♂️
i think having access to this information is very valuable, all you've gotta do is add tabs to show eariler data no? it just queries data and gives the representation, should be straightforward?
Not a priority for us right now as what we have is a temp solution, we are going to work on proper analytics early next year
this could really help us and even new individuals that are interested in the project, i think this could really help the project gain more traction as we see new engagement in the project
there is very little analytics resources for the project tbh
The grafana instance we use limits the queries shown on public dashboards by two months, and as I’ve said - its a temp solution so we don’t really wanna spend resources on making it better right now.
We are integrated in a lot of statistics tools like BigQuery, etc. You can make your own dashboard using this data.
Can you give me an example of other projects and some of their dashboard that they have for analytics?
thre is a guy in kujira community that has come up with this
https://kujira-track.app/
Kujira-track.app provide useful information and metrics for Kujira project.
doesn't look like much but it has most of the important analytics related to the chain
and this isn't from the official team too
There are tons of these analytics for Injective as well, and again to put an emphasis here - they are built by the community
can you share some?
the only analytics that can be viewed historically is the daily burn
others?
There are tons of analytics on this page. You can google for more similar dashboards built by the community
hehe, if i would have gotten it by googling then why would i be here asking question bud?
I’m giving you the information we have right now but it seems its not enough for you. I can’t invent something right now just to satisfy your question.
- Your point is to have analytics. I gave you an analytics dashboard.
- Your point is to have more than two months of data on the info page. I told you the reasoning why is it like that and our plans for the future.
- You send me a link from other chains and how the community built analytics dashboard. I’m telling you that our community has at their disposal the same tools and even more to build similar dashboard.
Am I missing something?
i was only questioning you based on your statement that there are 'tons of analytics pages' which you later edited, i would really appreciate if you could link this to someone who could help me to get resources
i did my research and couldn't find any good ones apart from the ones that i had shared you
i stress it again that you guys might doing well and having a good analytics page would really help your cause, i understand if you don't have the time to do it but this could show that the project is doing well and gain better traction
just sharing my 2 cents here
I haven’t edited any of my messages. We’ll prioritize analytics dashboard (built by the InjectiveLabs team) in due time
i don't wanna drag this out but if you go up you would see it
anyways, thank you for your help!
I need a way to wait for transaction confirmation
Its baked in the MsgBroadcaster class which I suppose you are using?
yeah, i got a workaround. Thanks
may I know why stream orderbook methods give me no output?
could i get a float error on a usize?
'out of gas in location: wasm contract; gasWanted: 600000, gasUsed: 1395789: out of gas'
Increase gasLimit
any way to manually set account sequence
nope
Transaction was not included in a block before timeout of 180000ms
would you provide more details?
Just executed my smart contract to send reward to holders
Fixed adding ** simulateTx: true**
I think I'll make this a default value
Each NFT project manages its own contracts. You need to interact with the proper contracts to get your NFTs' info. You should check with each NFT project support team
isn't there any API?
I want to gather all nft collection address of Injective chain.
verified nft collection.
No, there is not, because there is no native NFT support in Injective. The NFT logic is specific to each NFT project and their contracts
I see... thanks
no API right now but we do have a plan to build it
guys, has there been anymore thought on adjusting the OLP program so that we don't need to trade 6+ figures a day?
trading volume has been still requiring $125,000 on average per day.And yet multiple markets are trading 0$per day but still have a 600 inj incentive, but the big guys DOn't care. These markets are untradable because there is no incentive for the 9 people who are in the OLP program
guys, wanted to check how i can get a code upload proposal pushed through in general?
On Mainnet? If so DM me with more details on the project and will help u out
The executed contract seems to have some incompatibility with the current testnet chain version
cc: @primal terrace
yes we’ll upgrade testnet to get it fixed soon, we know the root cause
can someone help? I need INJ testnet to try some projects, limited faucet and not enough gas fees 🙏
inj17y5utgdyjt2wvzrjtrse44894gy2gwqff9zsfu
!faucets
Faucets for INJ tokens
Receive a small amount of INJ, enough to make 1-2 transactions.
- https://inj.supply/
- https://stakely.io/en/faucet/injective-protocol
- https://bwarelabs.com/faucets/injective-mainnet
For Testnet use: https://testnet.faucet.injective.network/
Let's push injective upwards
Lmk when fix is up
come on now did u break the testnet lol hahahah
I need a break from code kekw
Hans I just want to confirm that the bug of displaying eligibility vs ineligibility is just on the dashboard front end and that if you trade >0.25% of total then you are "eligible" for that day even though it will indicate "ineligible" if you provided between 0.25% to 0.99%, because the page is still running on the one 1% total vol minimum for eligibility?
Just want to confirm so hat after 3 days of 0.4% 0.85% and then lets say tomorrow is 0.3% then I will finally be eligible to earn with OLP?
Let me know,
Thanks!
Wondering if anyone could basically build an SNX protocol on top of INJ
wud b massive
What's SNX if i may ask?
Curious tho
Any link please?
the testnet public nodes seem down (https://testnet.status.injective.network/). It also says there is scheduled maintenence very soon. By and chance does that mean there's a rough time I can expect things to be operational again?
should be good now
is there any way to tell from the indexer streaming data if an order fails to place? I know I can watch the websocket feed for order fail events but is it possible from the indexer? (I'm using StreamOrdersHistory but it doesn't seem to indicate if an order fails)
No, the indexer orders stream will only notify about orders updates. If an order fails it means it was never part of the order book, thus the indexer never tracked it
You should check the events of the transaction that was suppossed to create the order
Thanks. And the tendermint websocket feed is the only way to watch for events like this in a streaming way right?
yes, that is correct
(sorry, small rant, but I also could be missing something) If feels weird that things would be built on gRPC which is like a high performance thing but then have to use json/b64 encoded values on a websocket to get real-time data. Isn't the point of grpc to not have to do that? I guess that's all just inherited from cosmos-sdk though?
The websocket streams is provided by tendermint, not Injective chain. But the idea is to not use the websocket connections. You can check the connectors in Hummingbot project InjectiveLabs implemented for Injective chain. Fully functional connectors including all trading actions and validations, without using the websockets at all (only using gRPC functionality)
gotcha, I'll check out the hummingbot implementation
@open whale You Can Find Dev From here
Allright, new here. Was searching the docs a littlebit and see several interactions method, like Py, Go, TS and injectived. Currently we are building most of the backend in C# as we want to go in hyperspeed. Are there also current C# libraries available, or should i create them myself? (with an rest-api of injective or through the injectived maybe..)
as this could be a dumb question, excuse me, i am 100% new here 🙂
The only available libraries are the ones mentioned in the documentation: TS, Go and Python
You can find the proto definitions for other languages here https://api.injective.exchange/#clients-for-other-languages
I've been working on my own JVM client on and off for a few months (due to my backend being on there). Are you familiar with grpc/protocol buffers? Have you used/developed on any cosmos chain before? The learning curve on these two things was probably what the bulk of the time spent for me is.
Getting the .proto files (you can find them in the injective go-sdk client repo) compiled to c# with will get you a lot of the way towards working with injective in it. The existing client libs do add more stuff though, and you will probably end up wanting to implement a good chunk of those features.
hmm right. i am afraid it'll cost me that learning curve too. But on the other hand, i read basic deployments can be just as EVM on inEVM .... Let me dive into it
why would i be getting this error?
'block height: 50777211, timeout height: 50777047: tx timeout height'
Because the current block height is greater than the block timeout height you give in your transaction
How do I set that
Should be a setting in whatever client you're using. If you're not already setting it the client probably manages and if the timeout is happening something probably is stuck in the client and restarting might help, that's my guess
im using injective-ts
I haven't used injective-ts but ctrl-f "timeoutHeight" here: https://github.com/InjectiveLabs/injective-ts/blob/master/.gitbook/transactions/transactions-cosmos.md you have to set it to the current block height plus some number (~50-100)
GitHub
Collection of TypeScript packages that consume and interact with the Injective Chain - InjectiveLabs/injective-ts
If I send a post only order I get a injective.exchange.v1beta1.EventNewSpotOrders event, but if I send the same order non post-only there is no such event (and no error either or any injective event), even though it does seem to be placed in the web ui. Is that supposed to happen?
https://testnet.explorer.injective.network/transaction/F4E44CDB041C0CCE9DBBA08B81603A416739A7D8BC515EE10BDA9375B351A0D7/
https://testnet.explorer.injective.network/transaction/1C71BFD992BFA3AB7E18AB0406A80205871240A5FA9D51F4A36D6ED1FF85D1D8/
Edit: I think that this is normal. But are there any events emitted when an order is added to a book?
Yes, we will push out the fix soon, but for now you can assume that you will be eligible after 3 days of 0.25%
Hello dear traders, users and builders. We want to inform that the support for direct connection to the sentry nodes is going to be deprecated in the next coming chain upgrade. Our intention is to notify everyone in advance to give enough time for any user of the public Injective nodes to adapt their applications and infrastructure. The officially supported public node is going to be the already available load balanced lb node (both for mainnet and testnet).
The SDKs maintained by InjectiveLabs (TypeScript, Go and Python SDKs) will also be updated, removing the support for the creation of Network instances using any of the sentry nodes.
If you have any doubt or question feel free to contact us using any of the support channels. Our support team will be ready to guide with the transition if required.
You can always find useful tips and guides in the API documentation page https://api.injective.exchange/
I wanna know where can i chat with devs, i wanna make a dapp on inj
You can ask here
All i wanna know is:
Wallet connection button component in next js.
Not
in typescript
in javascript next js
Wow, Can i get little guide
https://github.com/InjectiveLabs/injective-simple-sc-counter-ui/tree/master/next
this have a connect wallet button, but its in typescript, we need javascript connect walllet button
@hardy wraith You can convert ts to js to use sir, it's better to use ts so that we can support better
Actually i have already my Website in next js ready, wanna add a dap game in it. Means i will need js. I COnverted code in ts to js, but it gives errors, as packages only support Ts
I mean all i need to do is to connect user wallet if he clicks wallet connect btn, hahaha.
And I have spent 2 days on it. INJ is tooo difficult to build on
I COnverted code in ts to js, but it gives errors, as packages only support Ts
That's not correct, packages are built in TypeScript but shipped in JavaScript, both esm and cjs versions.
I mean all i need to do is to connect user wallet if he clicks wallet connect btn, hahaha. And I have spent 2 days on it. INJ is tooo difficult to build on
That's not correct as well, we have one of the most comprehensive docs out there, including plug and play packages which are quite easy to install and use. We even have docs for configuring your React/Nuxt/Next to use our packages so you can start building.
Please read the docs https://docs.ts.injective.network
BankMsg::Send { to_address: new_admin.address().clone(), amount: vec![Coin { denom: "factory/inj1mldpx3....", amount, }], };
why it says invalid coin?
I want to create a cw contract which will take query from a cw721 contract to look for ownership of a specific token to verify. Is it possible ? Also which documentary should I look for to find my question ?
Bro, I read this already, there is not guide on how can we use it in frontend, we can use it on backend only?
https://docs.ts.injective.network/wallet/wallet-connections
Can i get more info on it? I will be thankfull. I just need to make connect wallet btn for dapp, after connection, i know how to sign transaction etc, thats something i can only do if wallet connection is done!
Yeah, so you just read the docs and you can find an example codebase on how to do that.
Lets be honest, i am new to inj, but fluent in sol, ETH. I read all docs for wallet related functions in this site, Whole, I mean whole, i even ran successfully in Typescript Next js app, But problem comes when i use in js. packafes are in TS
You are definently not doing something correctly, the packages are compiled to JavaScript. Here is a proof as well. We export compiled JavaScript and TypeScript DEFINITIONS only so it's easier for TS developers to get type safety.
No problem bro, I will re try everything today. i am not going to leave inj for errors, hahahha, Devs fight with errors, let that sink in,
I notice there is a cid field in public orders (https://testnet.explorer.injective.network/transaction/94D0056D9ED67A31F67BEC894F9148551A8370EA1CEDE770243DFE8CA619FEE0/), but that field doesn't exist in any of the public protocolbuffer files ( https://github.com/InjectiveLabs/sdk-go/blob/9bfdd40fa39f18304f17f12c2d4f69140de6fb44/proto/injective/exchange/v1beta1/exchange.proto#L453-L469). Does the injective node software use a different version of the protocol buffers than those used in the go sdk? Is there any info about cids anywhere?
Are you sure you are using the current Go SDK version to interact with testnet?
https://github.com/InjectiveLabs/sdk-go/releases/tag/v1.49.0-rc1
aha, there it is, thanks!!
@topaz seal you said sentry nodes are going to be deprecated, how about k8s node?
When I try to execute msg with funds, I get 'The coins are not valid' error message.
This is my execute message:
new MsgExecuteContract({
sender: SENDER_ADDRESS,
contract: CONTRACT_ADDRESS,
msg: {
execute_msg: {
address: address
}
},
funds: [
{
denom: "inj",
amount: "1000000000000000000"
}
]
});
k8s node are being replaced by the bare metal load balanced nodes called lb
Why are you not following the documentation examples to instantiate MsgExecuteContract? https://docs.ts.injective.network/core-modules/wasm#msgexecutecontract-funds-example
I have tried using this example.
But same error occured.
funds: [
{
denom: INJ_DENOM,
amount: new BigNumberInBase(1).toWei().toFixed()
}
]
Same issue with contract
BankMsg::Send
{
to_address: new_admin.address().clone(),
amount: vec![Coin {
denom: "inj".to_string(),
amount,
}],
};
@kind flare @willow notch
our platform worked well at first, but this error comes out nowadays
Use MsgExecuteContractCompat
I just tried to use it, but invalid request error comes out
const msg = MsgExecuteContractCompat.fromJSON({
contractAddress,
sender: wallet.account.address,
exec: {
action: 'action',
msg: {
address: address,
}
},
funds: [
{
denom: INJ_DENOM,
amount: new BigNumberInBase(1).toWei().toFixed()
}
]
});
other execute messages without funds works well,
but if I try to send funds, then the tx failed with this error
it's not issue by must_pay in contract?
sorry, I have found the reason, it's my fault
can i run a node is it open to all or closed?
You need 1 INJ to run a node, but in order to get into the active validator set you need to have more INJ delegated by the last one on the active validator set which you can see here
As test tokens?
Mainnet tokens
Okey thanks
hey guys. I couldn't find this in the docs. Is there an endpoint that shows me how I could create a new account on Injective from scratch? For example, I want to start a new account on it using python, for example
https://docs.ts.injective.network/readme/token-metadata/creating-tokens TypeScript for now only
dApps developers don't usually use Python to develop
how to use /cosmos/bank/v1beta1/denom_owners/ with tokenfactory tokens?
and how to use correctly cosmos/tx/v1beta1/txs because there is no diff between events=message.module='bank' and events=message.module='bank'&message.sender='inj13s0z7acxvmaengrd553mpfy0u79we0t2uc5v54'
Hey! I am trying to send tx using WalletStrategy and MsgBroadcaster but getting errors
GET https://testnet.lcd.injective.network/cosmos/auth/v1beta1/accounts/ 400 (Bad Request)
Error: rpc error: code = InvalidArgument desc = Address cannot be empty: invalid request
at ChainRestAuthApi.get (HttpRestClient.ts:59:40)
at async retryHttpCall (BaseRestConsumer.ts:16:17)
at async ChainRestAuthApi.fetchAccount (ChainRestAuthApi.ts:29:24)
at async MsgBroadcaster.broadcastCosmos (MsgBroadcaster.ts:322:36)
at async HTMLButtonElement.<anonymous> (main.js?t=1699785813645:119:7)
Here is the code
const { chainId } = getNetworkChainInfo(Network.Testnet);
const walletStrategy = new WalletStrategy({
chainId,
wallet: Wallet.Keplr
});
const msgBroadcaster = new MsgBroadcaster({
network: Network.Testnet,
walletStrategy,
simulateTx: true,
});
await msgBroadcaster.broadcast({
msgs: [
MsgExecuteContract.fromJSON({
contractAddress,
sender: owner,
msg: {
create_proposal: {
proposal
}
},
funds: undefined
})
]
});
you have to set injectiveAddress to broadcast parameter
and if you dont send funds, you dont need to set funds: undefined
please check your dm
I'm trying to build and deploy a smart contract to testnet using cosmwasm. I'm stuck at one place.
docker run --name="injective-core-staging"
-v=<directory_to_which_you_cloned_cw-template>/artifacts:/var/artifacts
--entrypoint=sh public.ecr.aws/l9h3g6c6/injective-core:staging
-c "tail -F anything"
it gave me this error : tail: can't open 'anything': No such file or directory
then when i tried to use this command : yes 12345678 | injectived tx wasm store artifacts/my_first_contract.wasm
--from=$(echo $INJ_ADDRESS)
--chain-id="injective-888"
--yes --fees=1000000000000000inj --gas=2000000
--node=https://k8s.testnet.tm.injective.network:443
it gave me this error : Error: open my-first-contract/my_first_contract.wasm: no such file or directory
@primal terrace Can someone help me please ?
You need to have contact file in my-first-contract directory
My wasm file is already in my-first-contract/artifacts
Then use this path
Still it doesn’t find it
I used every path that can be available
On error when i ctrl+click to that path i can go to my_first_contract.wasm 😂
But at injective-core-staging it doesn’t see it i guess
Any dev can help ?
@topaz seal
What are you guys building on Injective? 😌
We will need @primal terrace expertise for this question
I deployed successfully now !
Bro, i followed your advice, now My Connect wallet btn is working fine in app (next app)
now i am up to making a mint btn, user clicks on it, it popup wallet, takes gas fee + mint price and then send nft to user wallet. can i get any help in this?
Also if any developer role here i will love to get
👍
How can i query a nft contract inside my cosmwasm contract to get some data inside my contract ? @primal terrace
can u help me to get some nft inj docs?
I guess they have no such docs for now specialized for nfts, but you can check at cw721 docs. Maybe you can find your way at there.
can i get a link, and if u are a dev, i am in need of one, making minting Dapp on inj
We don't need to have CW721 docs as they are generalized for everyone, you can search them online
IMPORTANT NEWS:
We want to inform everyone that the new chain version is already available in testnet. In the upgraded version you will find two new elements that will improve significantly the orders management process:
- Users can now assign their own "client order ID" (
cid) to the orders. Thecidis assigned when the order is created, and can be used to cancel orders instead of theorder hash. This means that there is no need to calculate the order hash in advance or to do any subaccount nonce synchronization with the chain, to ensure that the hash calculation is using the same values that the chain uses when processing the transaction with the order creation message. Examples can be found in:
-- https://api.injective.exchange/#spot-msgcreatespotlimitorder
-- https://api.injective.exchange/#spot-msgcancelspotorder
-- https://api.injective.exchange/#spot-msgbatchupdateorders - The chain now provides its own stream to notify about updates: the chain stream. This stream can be used to receive notifications events like: order book updates, order updates, trades, position updates, price changes. The notifications in these stream are delivered faster than the notifications provided by the exchange module, because they are emitted by the chain nodes directly. Please refer to the chain stream section of the API documentation for more details (https://api.injective.exchange/#chain-stream).
To connect to the new chain version in testnet you will have to use any of the following SDKs versions:
- Python SDK v1.0.1rc2 (https://pypi.org/project/injective-py/1.0.1rc2/)
- Go SDK v1.49.0-rc1 (https://github.com/InjectiveLabs/sdk-go/releases/tag/v1.49.0-rc1)
- TS SDK dev tag (currently version 1.14.1-dev.0)
If you have any doubts or problems please contact us using the support channels.
Is there any storage capacity of a contract ?
Like i’ll query around ~95.000 data inside my contract
Also store them inside my contract.
@topaz seal @primal terrace
Sorry for tagging much 🙏
Join the DoraHacks global Hackathon community, solve real-world problems with code, build the next blockchain unicorn.
I got an error trying to build a contract with injective-std = "0.1.4"
Error during static Wasm validation: Wasm contract requires unsupported import: "__wbindgen_placeholder__.__wbindgen_describe". Required imports: {"__wbindgen_externref_xform__.__wbindgen_externref_table_grow", "__wbindgen_externref_xform__.__wbindgen_externref_table_set_null", "__wbindgen_placeholder__.__wbindgen_describe", ... 16 more}. Available imports: ["env.abort", "env.db_read", "env.db_write", "env.db_remove", "env.addr_validate", "env.addr_canonicalize", "env.addr_humanize", "env.secp256k1_verify", "env.secp256k1_recover_pubkey", "env.ed25519_verify", "env.ed25519_batch_verify", "env.debug", "env.query_chain", "env.db_scan", "env.db_next"].
``
Another question - should I use cosmwasm libraries containing structures generated from proto files to interact with custom modules or can I write these structures manually?
@frosty kiln
How can I deploy the nft mint pad contract on the main net
I need to know all the formalities and procedures
is there an inj testnet i can use in metamask? and then inj faucet to fill it with funds?
I'm running helix locally and want to test new functionality, but I am unable to trade using testnet on metamask. Anyone did this? I need to trade using testnet on a local dex instance. I'm using metamask. The problem is that I don't find any faucet to use. i have some eth on sepolia network, but helix only accepts wETH.
My instantiation message is so big and it fails when i try to instantiate it. Says out of gas error. But when i increase the gas and fees, still same thing happens. Is it possible to instantiate my message in batches or what should i do ?
Ok i did it now 👍
@frosty kiln I have a question regarding the events. Everytime I try fetching transaction details using fetchTxByHash, I get an empty events array. What is the best way to fetch tx events?
Is there any cosmwasm focused gaming SDK
any github links?
Guys, when are TIA LP rewards going to be claimable? was suppossed to be a couple hours ago wasn't it?
We are pushing a fix on the claim button, please give us a few minutes
thx..
is there anyway to see eligibility of new address and how it's doing? Some on my days are below 0.25% but they are still showing green on eligibility...... is this calculated as an average over past 3 days or what? Can you shed some light (Other than the docs already published as I've read all those and they don't answer what I'm asking) on how the eligibility is calculated? It's very difficult for a first epoch MM to monitor progress because their info isn't displayed in the "rewards" or the "Scores" tabs in the OLP program.
Here is a screenshot showing the green eligibility despite some days being below 0.25% of all markets, Is this a UI bug or ho are these figures calculated?
@topaz seal @half charm
Guys no reply for my query
@topaz seal
Where are Injective devs? Is it proper channel to ask a dev question? 🙂
Yes, its a proper channel to ask dev questions. Devs will respond when they can
yes but you need to be persistant!
I already tagged @frosty kiln as a reply to your original question. You need to wait for his reply.
@primal terrace
@primal terrace any help on the OLP program?
@topaz seal maybe it's easier to reach Devs for questions on telegram? Do you guys have a TG that is active for help?
Hello Seranium. We should contact @primal terrace for contract deployment questions
We do have a telegram channel, but we check it as much as this channel:
https://t.me/InjectiveAPI
Do you have a dev question I missed? Is there anything pending response?
I’m having this error when i try to instantiate my contract.
bash /usr/bin/injectived: Argument list too long
Note : my INIT has ~16.000 data to be initialized at my contract. @primal terrace
How can i pass a big data inside my contract when i want to instantiate my contract ?
@primal terrace @topaz seal
Is there any way I can have answers to my questions
Or it’s just a waste of time here
Hello @lethal sand. It is not a waste of time to ask questions in this channel. InjectiveLabs dev team and also the devs in the community reply all questions as they can. Maybe not as fast as you are needing, but we do our best
That sounds like a bad design, your init params should be in the range of 20-100 chars. This should purely include values for parameters you want to specify so I recommend refactoring your contract.
When your contract is ready to be deployed on mainnet you can either submit a governance proposal outlining what the project is about etc. or DM me with the details to help you out and upload for you. You can reference an example here: https://hub.injective.network/proposal/286
This is already outlined on our docs.
Hmm. Then for a map storage that keeps around such big data, i want to store them at the beginning. How can i do it with a good design ?
Perhaps @frosty kiln might have ome suggestions.
I’ll be glad to listen his suggestions also, thank you for helping 🙏
I'm getting an error flag 97 for orders during testing. I'm not seeing that here though: https://api.injective.exchange/#error-codes Is there an updated list of the error flags anywhere?
cc @kind flare
ErrClientOrderIdAlreadyExists = errors.Register(ModuleName, 97, "client order id already exists")
ErrInvalidCid = errors.Register(ModuleName, 98, "client order id is invalid. Max length is 36 chars")
the error is: client order id already exists
thanks!
Thank you so much for your reply, can you pls check your dm I have already shared details with you
Thank you 🙏🏻
Is there a way to calculate a transaction hash (like on eth using keccak) and broadcast it without waiting?
can you check dm please
actually we are doing smart contract and frontend can you tell me where i can details for porposal for these things @primal terrace
Broadcast without waiting?
To send transaction and not wait for receipt.
https://github.com/InjectiveLabs/injective-ts/blob/1459a2a332895abd0f4d93e092d9c36c86162186/packages/sdk-ts/src/core/modules/tx/utils/classes/TxClient.ts#L23-L29 and here is how you can generate transaction hash
great, thanks!
Any injective dev available
One more thing I keep getting account sequence mismatch error after sending a transaction using the same code that worked for the previous 10 transactions. Basically Im just transfering 100 inj from addressA to addressB. What should I do here?
Wait for the transaction to be included in the block before you send another one or increase the sequence manually so you put that transaction in the mempool as well.
Since you said you don't wait for block inclusion, its up to you to manage sequences (nonce)
everybody, we are building a futures dex on INJ inEVM. We are being stucked in getting price feed of tokens, in general we will have an oracle system to get prices. Are there any oracles provider on inEVM yet?
i want to run a chainlink node on inEVM (layer2 not INJ layer1), is it possible for now?
It’s been 2 days , me and my team are waiting for a positive response regarding on how we can deploy the contract on the main net.
Pls guide
@primal terrace
@primal terrace
I have a local instance of the relayer(dex), I want to experiment on testnet with orders, how could I do that. For example I want to use my metamask wallet to transfer funds to the dex, but I can't seem to find any faucets for those assets that I can deposit. i have found only eth faucet, but you cant' deposit eth, only wETH
and even if I can deposit those funds from testnet, will I be able to play with them, to create orders, etc?
not sure if this is the right channel to ask, if not, maybe you could guide me to the correct one, thanks
Achilleas alredy replied to your message. In fact you thanked him here #🚀・dev-support message
plz help :=D
I guess you can just swap INJ for WETH on the helix testnet for starters, no? There's a inj faucet where you can collect testnet INJ for testing
inEVM is for testnet ig not for mainnet
Is Erc20 = Cw20 regarding Denom:: on cosmeasm?
so there is no option for oracle inEVM testnet right now?
looks like we have to build on our own
alright I added inj testnet to kepler and have inj, but the dex does not see the INJ. i set vite_network=public, vite_chain_id=injective-888. And not sure which testnet (vite_ethereum_chain_id) to select for "k8s.testnet.tm.injective.network" . probably it's not essential for swapping inj at this point, but not sure where im wrong here
can i just deploy solidity contracts with Remix on Injective blockchain? Can i just follow https://calderaxyz.gitbook.io/injective-documentation/getting-started/deploy-on-inevm/remix and will this be natively talk to which just is to use just like the 'goo ol' evm chains? And fully supported by dexes like Helix or Mito ? No sidedishes etc?
And an extra question... Is the inj-wallet address always 1:1 connected to an original EVM address?
Meaning.. if i deploy a smart contract on inEVM, and send some tokens $TOKEN to EVM-address or INJ-address, will it always work no matter what is chosen?
@frosty kiln
I'm trying to run next part in this repo : https://github.com/InjectiveLabs/injective-simple-sc-counter-ui
But, i cant interact with contract in this example,
pls help me
GitHub
Contribute to InjectiveLabs/injective-simple-sc-counter-ui development by creating an account on GitHub.
this happen when run the increment and reset function
I'm waiting forthe injective dev team member to reply related to project launch @ionic oxide
@primal terrace
Pls check dm
Sorry for so many pings 🙏🏻
how can i make a btn on click which signs transaction of 0.1 inj on testnet on keplr wallet, if wallet is already connected?
me waiting for reply be like:
and devs be like:
Hahaha (All i need is onclick function for transaction from use wallet)
Do you need to upload a contract to the chain? You have to create a governance proposal to do that.
am here too mate
can u see my question too?
... this one
One second @hardy wraith
Have you checked the dApps examples in the documentation @hardy wraith?
https://docs.ts.injective.network/building-dapps/dapps-examples
i did, i seen transaction for cosmos docs, ut its not for popping up keplr for transaction
There's a way to receive or create peggy... coin on testnet?
u know how to make token on inj?
https://docs.ts.injective.network/transactions/transactions-cosmos
if ypu just tell me how to use it in next js i will be so much thankfull, i am not getting it, that what to put in the onclick function for it
@kind flare
u know how to initiate a transaction from user wallet?
using keplr, if its already connected?
Peggy coins are automatically created when you bridge ERC20 from Ethereum to Injective, they can't be created automatically
There's a faucet or something to receive them?
Sorry, but I won't be able to help you with JavaScript related questions. Maybe @kind flare can provide a hint.
In any case it seems like a Keplr related question more than an Injective related question. I would suggest checking its documentation too https://docs.keplr.app/api/
This is a general usage, using TypeScript, how you are going to implement it on your UI its your choice, we can’t help you there
I was looking for an erc20 faucet
We don’t have faucets on Ethereum
i know how to use in ui, it have 2 times txRaw defined, so giving error
If anyone can point in the right direction. Can i use solidity to build on injective?
Can't find info any where on docs
With inEVM, Ethereum developers can use Solidity to seamlessly deploy their applications into the Injective ecosystem.
Please check out https://docs.injective.network/develop/inEVM/
Thank you!
inEVM still on devnet?
I guess i might just build this with rust
yes, both inEVM and inSVM are on testnet
Need help builders, This is Manas, we're trying to build something cool on INJ. I'm stuck in a problem for which I'm unable to figure out a solution directly. Here is my sendTransactionStargate function - I am using keplr wallet, cosmjs/stargate to sign and broadcast a message.
Code -
await window.keplr.enable(chainId);
// Get Keplr's offlineSigner for the specific chain
const offlineSigner = window.keplr.getOfflineSigner(chainId);
// Create a Stargate client using Keplr's signer
const client = await SigningStargateClient.connectWithSigner(
rpcEndpoint,
offlineSigner
);
client.signAndBroadcast;
// Get the sender's address from the offline signer
const [firstAccount] = await offlineSigner.getAccounts();
const senderAddress = firstAccount.address;
console.log("client", senderAddress);
// Define the message for sending tokens
const msg = {
typeUrl: "/cosmos.bank.v1beta1.MsgSend",
value: {
fromAddress: senderAddress,
toAddress: recipientAddress,
amount: [{ denom: "uinj", amount: `${amount}` }], // Replace 'INJ' with the token denomination
},
};
// Define fee
const fee = {
amount: [{ denom: "uinj", amount: "500" }], // Replace 'INJ' with the fee denomination
gas: "200000", // Adjust the gas limit according to your needs
};
// Broadcast the transaction
const result = await client.signAndBroadcast(
senderAddress,
[msg],
fee,
memo
);
}```
I am getting this error
```client.js:1 Error in sendTransaction: Error: Unsupported type: '/injective.types.v1beta1.EthAccount'
at SigningStargateClient.accountFromAny [as accountParser] ```
Anyone familiar with the issue? Please help us out here.
chainId = injective-888
Sounds like Stargate is not compatible with the EthAccount from Injective
What are we building today
If any devs around here got some free time I’ve got something I been wanting to help curate on INJ
I’ve got money to spend too just hmu
https://vxtwitter.com/injectivedoges/status/1725875592929640864?s=46&t=lUBLPhC-w_MinqmoMzh_7w
I hope everyone will like the idea, only available on Injective. 💪
Thanks for the response @topaz seal . I checked and the wallet is not set to an ethAccount. Can we please connect to solve this issue?
@primal terrace
Pls check dm
Thank you and sorry for ping 🙏🏻
Anyone here available to help with my few inquiries about project launching on INJ please
@primal terrace
Thanks @ionic oxide appreciate it!
how can i import another contract for use in my tests?
Can i know how to trigger a transaction on keplr if user wallet is connected. Literally no one is helping here, code on docs is broken and dont work
@topaz seal
You reached out 4 times in 2 hours on a Saturday for something not urgent, please wait and do not spam public channels - I'll respond to you 🙂
Sure, feel free to DM me.
Thank you so much 🙏🏻
We have extended docs here: https://docs.ts.injective.network/ you can review the docs and if you have any specific questions we can respond. We have put some significant time to create the docs so people can self-serve. If there's a snippet that is broken please mention where exactly.
Mate, i have literally now orally feded it into my mind, the Code in docs about creating transaction on cosmos, just dont work mate, it dont.
txHash variable is defined two times
and in next js it just give errors if we fix txRaw variable like:
bech32 not found
xyz thing undefined etc
Wallet connection code is working correct
Okay, cc @kind flare to help look into this.
So injective environment is set
Errors are in transaction code, not in next js inj environment setup
sorry, but do you expect us to debug an issue in your code for your implementation? I don’t understand
No no No, U given code. Now i copied it installed dependencies, and implemeneted it in a btn, so code should run if we click it, and user should popup keplr to sign transaction, but I just want to know what each line of code do, i mean it dont work as expected, btn working coreectly, console logs working correctly, something error in when popup should appear, it dont
We have the same implementation on our products and it works fine, try to debug it line be line and find your issue.
@primal terrace, mr-t here from Ark Protocol. Need some infos of how uploading interchain contracts (ics721) on testnet and do some tests.
working together with Vlad (TFL) on this
are you using server side code in a client side application?
bech32 errors means your address has been improperly checksummed usually. otherwise, it may be that the package is not installed.
the code in the docs works fine, but the window.keplr.sendTx function may help.
Just trying to do a favor for TFL and Injective - so we could test transferring NFTs between these 2 chains. @primal terrace mentioned something about required WL for uploading contracts.
There are so many docs - would be happy getting all required infos without digging too much. So would be quite happy if someone could help us out - since we try to help u guys.
In the meanwhile I just get other chains interchain-ready, in case there's no prio for this - there's enough on my plate 😎
@indigo furnace ^
Hey, you can DM me or coordinate in the chat we have for the upload 🙂
Generally speaking testnet is permissionless so you can go ahead and upload. For mainnet, we can discuss together @indigo furnace
alright, didn't get an answer from u, thought u were busy. so I tried here. thx
Hello @verbal matrix. My reply was based on a quick analysis of the code you shared and the error description. The error states that the instance of SigningStargateClient received and instance of EthAccount when executing accountFromAny but that type is not supported. Unfortunately there is not much more I can help with, since I have no experience with SigningStargateClient.
Maybe @kind flare or @willow notch can help, but to be honest this does not sound as an Injective related error.
You can’t use cosmjs with Injective
No API usage. Only client side
Lemme try 😄
What library are you using
When I try to execute message in my contract, follow error message comes out.
Error calling the VM: Error executing Wasm: Wasmer runtime error: RuntimeError: Error in guest/host communication: Region length too big.
Library? next js using, and using code from official doc in typescript, for transaction.
It actually have many errors, but main one are:
txRaw is defined two times
its dont make popup of keplr appear.
have an error I’ve never seen:
Overflow: Cannot Sub with 0 and 1030000000000
&vec![Coin {denom: "inj".to_string(), amount: Uint128::from_str("1030000000000").expect("couldn't parse amount")}]
Region limit is 131072(128k)
I cant use over than 128k in one execute function?
Or is there any settings for this limit size?
your execution shouldnt be above 128k...
How can I save over than 128k data as state value on cosmwasm contract?
use IPFS for that. INJ isnt built to handle that much data. Store large data like that in an IPFS bucket, then pass the link to your contract.
like with NFTs
is it possible to test out creating new orders on the dex using testnet on Keplr. cause I fail with that, I have INJ in the testnet, but can't swap or trade for example, the dex does not see my balance of that INJ
Do you mean creating new order in Injective chain? (I am not sure what you mean with "creating new orders on the dex")
If you want to use Kepler I asume you are trying to sign the TXs from the we browser. If that is the case I suggest you to do that from HelixApp (testnet.helixapp.com)
I just want to create new orders on the testnet and that they would be visible on my local dex instance. I mean I'm using INJ on testnet, I want to transfer them to my local dex instance to create test orders
You can create new orders on testnet through:
- HelixApp (testnet.helixapp.com)
- Python SDK using the
testnetnetwork - Go SDK using the
testnetnetwork - TS SDK using the
testnetnetwork
You can find all the details in the API documentation page (https://api.injective.exchange/?typescript#spot-msgcreatespotlimitorder) if you want to create the orders using any of the SDKs
testnet.helixapp.com works fine, I want the same just for my local dex instance.
Then depending on what language you are using to implement it, use any of the available SDKs to interact with the chain from your dex and create the orders.
Where can I find the actual amount of tokens sent and received in a swap (MsgCreateSpotMarketOrder). I tried fetching receipt, but the events log array is always empty.
Do you have the TX hash? If you get the transaction using the TX hash all the details will be there
I have the hash (example: 0AAEEF9FB4BD3A7CF928FAFDF6504F224F7DDC21E60968F06A8AEB729BD5BF29), and I get events: []
Or should I be looking at some other attribute?
I use the fetchTxByHash function
Is that transaction from mainnet?
my local dex instance is just regular hex exchange cloned from git, so it's TS. But I thought I won't need to do any extra steps to just reproduce an order creation on testnet, hmm
yes
In mainnet the TX 0AAEEF9FB4BD3A7CF928FAFDF6504F224F7DDC21E60968F06A8AEB729BD5BF29 is a spot market sell order, in that case the tokens involved are the two tokens from the market: base and quote
exactly, and I would like to get the amounts of both involved in the transaction
check in the log events from the TX, you can get the coin_spent, coin_receivedand transfer events (you can see them in the explorer page too https://explorer.injective.network/transaction/0AAEEF9FB4BD3A7CF928FAFDF6504F224F7DDC21E60968F06A8AEB729BD5BF29/event-logs/)
These are not present in my response, but I can see them on exporer yeah. This is my response: ```{
id: '',
blockNumber: 51356748,
blockTimestamp: '2023-11-15 12:28:34.917 +0000 UTC',
hash: '0x0aaeef9fb4bd3a7cf928fafdf6504f224f7ddc21e60968f06a8aeb729bd5bf29',
code: 0,
info: '',
gasWanted: 400000,
gasUsed: 102621,
codespace: '',
data: Uint8Array(135),
gasFee: {
amounts: [ [Object] ],
gasLimit: 400000,
payer: 'inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp',
granter: ''
},
txType: 'injective',
signatures: [...
],
events: [],
messages: [
{
type: '/injective.exchange.v1beta1.MsgCreateSpotMarketOrder',
value: [Object]
}
]
}
This is what I see when I execute the GetTxByHash message using Python SDK:
s: "ok"
data {
block_number: 51356748
block_timestamp: "2023-11-15 12:28:34.917 +0000 UTC"
hash: "0x0aaeef9fb4bd3a7cf928fafdf6504f224f7ddc21e60968f06a8aeb729bd5bf29"
data: "\022\204\001\n</injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\022D\nB0xa462fa4f35c1cfa86c01ce1bd40eff99790bb1533c824bc44f3bac21b174f561"
gas_wanted: 400000
gas_used: 102621
gas_fee {
amount {
denom: "inj"
amount: "280000000000000"
}
gas_limit: 400000
payer: "inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp"
}
tx_type: "injective"
messages: "..."
signatures {...}
tx_number: 329386892
block_unix_timestamp: 1700051314917
logs: "[{\"msg_index\":0,\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/injective.exchange.v1beta1.MsgCreateSpotMarketOrder\"},{\"key\":\"sender\",\"value\":\"inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp\"},{\"key\":\"module\",\"value\":\"exchange\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp\"},{\"key\":\"amount\",\"value\":\"2000000000000000inj\"}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"inj14vnmw2wee3xtrsqfvpcqg35jg9v7j2vdpzx0kk\"},{\"key\":\"amount\",\"value\":\"2000000000000000inj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"inj14vnmw2wee3xtrsqfvpcqg35jg9v7j2vdpzx0kk\"},{\"key\":\"sender\",\"value\":\"inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp\"},{\"key\":\"amount\",\"value\":\"2000000000000000inj\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"inj16qvz55hc4hzyz7rlj7e8v0vaujnctx25s60rtp\"}]}]}]"
}
The events are ther ein the "logs" field
Which SDK are you using?
Ok im using the ts sdk's fetchTxByHash(txHash)
What version of the SDK are you using? @kind flare or @willow notch can help better with TS SDK related issues.
Trying to create a wallet via script, i'm not able to recreate the same pub address generated by keplr. I'm using the following derivation path m/44'/60'/0'/0/0 with chain prefix inj but the address generated is completly different. Any suggestion?
Are you sure that is the correct derivation path that Keplr uses? I would suggest first checking that info. There were issues about the derivation path in the past https://gov.injective.network/discussion/6918-request-help-from-community-fundecosystem-fund-keplr-burned-my-inj
@topaz seal is there a way to create a test order through the UI of the cloned hex dex from git locally or you have to perform this only using SDKs?
IDK which derivation path keplr uses, but is anyway a problem because the keplr is not the once create with the others cosmos derivation path like 118/330 as coin_type
Well, to be honest, the SDKs code is public. If you replicate in your dex code everything the SDK does (provided you have the proto files in your app to interact with the Injective nodes using gRPC) then you can do everything without using the SDK at all. The SDKs just abstract the user from many complexities the interaction with the nodes have
is there a good way to install injectived on mac? injectived from src and binary are both formatted wrong for zsh execution
@frosty kiln
zsh: exec format error: injectived
Install from source, pre-built binaries for mac won't work
thats what the zsh format error comes from
i tried the binary a few months ago
❯ git clone git@github.com:OpenDeFiFoundation/injective-core.git
Cloning into 'injective-core'...
remote: Enumerating objects: 3230, done.
remote: Counting objects: 100% (3230/3230), done.
remote: Compressing objects: 100% (1634/1634), done.
remote: Total 3230 (delta 1667), reused 2975 (delta 1412), pack-reused 0
Receiving objects: 100% (3230/3230), 11.17 MiB | 1014.00 KiB/s, done.
Resolving deltas: 100% (1667/1667), done.
❯ cd injective-core
❯ make install
cd cmd/injectived/ && go install -tags netgo -ldflags "-X github.com/InjectiveLabs/injective-core/version.AppVersion=v1.11.5 -X github.com/InjectiveLabs/injective-core/version.GitCommit=b094a25 -X github.com/InjectiveLabs/injective-core/version.BuildDate=20231120-1939 -X github.com/cosmos/cosmos-sdk/version.Version=v1.11.5 -X github.com/cosmos/cosmos-sdk/version.Name=injective -X github.com/cosmos/cosmos-sdk/version.AppName=injectived -X github.com/cosmos/cosmos-sdk/version.Commit=b094a25"
❯ injectived version
Version v1.11.5 (b094a25)
Compiled at 20231120-1939 using Go go1.21.1 (arm64)
Sounds like an issue on your end
are you running zsh?
if i run it through bash or sh i get "cannot execute binary file"
@primal terrace is that on an intel mac?
It's an M1, this should work on Intel too
weird, im running m1 as well
hey Im on Mac and zsh and it works
export GOPATH=$HOME/go
export PATH=$PATH:$(go env GOPATH)/bin
export GOPRIVATE=github.com/InjectiveLabs/injective-core
not sure if it's required but this is inside my ~/.zshrc
also
alias e2i="injectived q exchange inj-address-from-eth-address"
alias i2e="injectived q exchange eth-address-from-inj-address"
btw. a useful little shortcut for converting ETH<>INJ addresses
@kind flare @willow notch Any update on this?
I’ll have a look in a bit
Does the new chainstream stuff https://api.injective.exchange/#chain-stream here provide a way to detect order placement failures (ie the injective.exchange.v1beta1.EventOrderFail events)
Has the hackathon deadline extended?
Any luck with this?
that worked, thanks!
thanks, this worked.
opened a pr on injective core about macos installation for anyone having the same issues as me.
No. Chainstreams only deliver positive events. You need to check TX results by checking the transactions.
the fetchTransactions within the IndexerRestExplorerApi returns the logs and events as well, you can use that to fetch these details
Works thanks
Is it possible to freeze NFTs (for example with staking system)
That would be a questions for NFT projects. Injective does not have any special functionality at chain level for NFTs
Okay thanmks
reviewed, have a look
DOGEPLACE - Peaceful Place for Injective Doges 🐶
Built on @Injective_
Are you ready ?
💖 2
i have simple react app, but i cant import from the @injectivelabs/network, here is the code and the error
@kind flare
Did you started from scratch? Vite or webpack?
Btw we have a react starter template for building on Injective
Btw we have a react starter template for building on Injective
I suggest you use this CLI tool we've built https://docs.ts.injective.network/building-dapps#create-injective-dapp-cli-tool @faint cove
i started by Create-react-app
can you try creating with our CLI we linked above?
I just tried the tool. CW counter FE -> React doesn't work. It always scaffolds the nuxt template
I’ll have a look
What is the creation and registration process for new token to ensure it will be recognized by wallets/explorers/apps?
- Create denom using Token Factory
- Set token metadata
- Mint tokens
- Send pull requests with token info to:
https://github.com/cosmos/chain-registry/blob/master/injective/assetlist.json
https://github.com/cosmostation/chainlist - Create liquidity pools
- Submit token on CoinGecko
Did I miss something?
thanks
Checking this out
Should see some cool repo
You can submit token no coingecko before minting?
Definitely not 🙂 I updated the list, thanks!
Username on X, working on something on the INJ ecosystem.
I'm with the Exodus Wallet and we're adding staking/restaking for INJ. Any chance I can connect w/the team to promote the launch?
Does exodus have native injective support?
Affirmative.
It only has support for BSC INJ token at the moment, I use Exodus
Should be going live to all users on Dec 4th. (preview)
Nice, please send email to contact@injectivelabs.org
Do the public mainnet nodes listed here https://docs.injective.network/develop/public-endpoints/ use the 1.49.0-rc1 protocol buffers? Basically I just need the cid field on OrderInfo that was added there. It worked on the testnet endpoints listed there but when I switched to the mainnet ones I'm getting errors implying the server isn't on the version with cids.
Are those changes from 1.49 not live on mainnet yet? I assumed they were since they were listed on the exchange api docs without any warnings that they're testnet only at this point. But now I'm realizing they probably aren't. Any ETA for those to hit mainnet?
Who will tell me more about inEVM
InEVM or the Internet of Everything Virtual Machine, is a concept that integrates the Internet of Everything (IoE) with virtual machine technology. It's designed to connect and manage diverse devices and systems in a virtual environment. For more detailed information, you might want to explore technical documentation or specific sources related to InEVM.
I know there is a doc ...dev doc
But before I delve deep.... wanted a dev or builders on injective to EL15 the inEVM to me first
Reach out to Injective developers or builders to ELI5 (Explain Like I'm 5) the inEVM concept before delving deep. They can provide a simplified overview to help you understand it better.
Why are your response sounding botted ever since buddy?
Please leave this channel only for devs to answer
#🚀・dev-support #💻︲api-support #🔩・node-operators are to be kept clean
No mate since @ionic oxide is only he will sure reply to all that mate
You can read more on inEVM here: https://blog.injective.com/en/injective-unveils-inevm-a-groundbreaking-ethereum-rollup-for-hyperscaling-multi-vm-development/
Please for basic questions like this you can ask in #💬・general
This channel is for dev questions
Injective Blog
Injective today is introducing the launch of inEVM, the first-ever Ethereum Virtual Machine capable of achieving true composability across Cosmos and Solana. The inEVM network was developed in collaboration with Caldera, a L2 rollup infrastructure platform backed by Sequoia.
With inEVM, Ethereum developers gain unprecedented access to Injective...
@ionic oxide does injective support light nodes? I'm working on a project that will incentivize users to run your nodes. Running a full node is quite heavy https://docs.injective.network/nodes/RunNode/mainnet
please @ me 😄
Unfortunately no, only full node
darn. are there plans on building a light node? I'm working on a project to easily start a node with 1 click GUI
There is no plan for that at the moment
i have a problem with this code, when i run it, it cant fetch
I'm trying to run the latest injectived image and it cannot be found.
docker run public.ecr.aws/l9h3g6c6/injective-core:v1.12.0 injectived version
Requested image not found.
I am trying to use the latest because I've been using the 1.10.1 version which is giving me Error: error unmarshalling result: illegal base64 data at input byte 4
for fetching TX: injectived query tx 3685376FCB5BA06C74C6928A1497B908850DE64E66467AC864AF43619837BA71
This tx is normally shown on the explorer: https://testnet.explorer.injective.network/transaction/3685376FCB5BA06C74C6928A1497B908850DE64E66467AC864AF43619837BA71/
Can someone help me here?
It seems that using 1.11.5 works good enough. Still, the latest (1.12.0) is not available as a docker image
From the TxRestApi class ethereumContract.ts:257 Error: signature verification failed; please verify account number (147xxx2) and chain ID (injective-888): unauthorized error I am signing with ETH.Goerli and Injective.Testnet I share my line of code briefly
getEip712TypedData({
msgs: [msg, msg1],
tx: {
accountNumber: accountDetails.accountNumber.toString(),
sequence: accountDetails.sequence.toString(),
timeoutHeight: timeoutHeight.toFixed(),
chainId: "injective-888",
},
ethereumChainId: EthereumChainId.Goerli,
});
I create transactions over Broadcast with my web application and test contract
in addition, I use the metamask wallet
https://docs.ts.injective.network/transactions/ethereum check the docs here, the EIP712 typed data you sign is not the TxRaw that gets broadcasted
anyone can help me
I would like to deploy a nft staking contract. But it gives me unauthorized error.
https://explorer.injective.network/transaction/0D559A94FFEE8AAB22503E4F95D1C1EC4212FCA6913AE9E254847CF16BF114DE/
Can you please help me?
@kind flare
Mainnet is permissioned, you can't just upload the contract as on testnet. I can help you deploy, can u DM me?
How do you fix this problem?
You need to use cw-injective and return Result<Response<InjectiveMsgWrapper>, ContractError> on execute entry point if you gonna interact with injective custom modules
cw-injective require a specific version of cosmwasm-std (1.2.7) that create confilct if i've have other dependencies like osmosis-std that require ^1.4.0
It's possible to create different directories for different versions of contract - one for osmosis and another one for injective
I'm not interacting with them
But storing the code onchain give me this problem
Can i use stargate instead ok custom msg for msgs like mint/buron of token factory?
Probably it's possible to do it using proto files but I don't know how. The simplest way to use chain specific libraries. Osmosis lib works well for token factory on many chains. Injective lib works here. I made 2 versions of token factory minter contract for different networks and that was a solution of my problem
I need to redeploy a contract to mainnet. Please help me.
Does anybody have a trading bot that interacts with Helix? I see every address that is earning OLP tokens if mainly running bots. Reloading bid and ask prices every 5-12 seconds or as the price of the underlying market moves.
Can somebody guide me as to the skeleton for how to build such a bot? I'm using Python atm and could really use some help! I'm not looking for a grid bot, the bots I see are mainly just creating "limit post only" buy and sell orders and then cancelling them and then re-creating them with a different price. and repeat.
Can anyone give me some example code to build one?
Thanks in advance!
The tokenfactory MsgMintallow has only 2 fields: sender & amount. This mean that the minter of a specific token can't mint tokens for a specific address but only for itself? So if a contract need to mint some tokens for a user I need to return 2 messages, the first one for mint to the contract, and the second one as Bank::Send?
I would suggest checking open source solution (for example Hummingbot). I don't think anyone will share a trading bot strategy. Developing trading strategies and tuning them to perform correctly is something that takes time and money. I don't think any professional market maker would be sharing that for free.
That's right
But only the protobuff definition is missing the field mint_to, because the CustomMsg has it
What protobuf definition you use?
i got amount from fetch, like 309995753948500000000, how to convert it to human readable amount
This is the Rust proto definitions for MsgMint from injective-std package
Check create_mint_tokens_msg from injective_cosmwasm - it acceps 3 parameters
Yes but this use CustomMsg that forced me to set the type of CustomMsg (and then also the Response) across the whole e project or I can’t use cw-multi-test anymore because some contracts have Empty CustomMsg type (not interacting with any custom modules). App from cw-multi-test want that all contracts have the same CustomMsg type. Using stargate msg instead allow me to keep the CustomMsg type as Empty
In the market info for each market you will find the token_meta for base token (in spot markets) and quote token (for spot and derivative markets). In the token_meta details there is a field called decimals. You should use it to convert chain values to human readable.
Team, how do I fetch historical volumes data from the https://lcd.injective.network/swagger/#/ API?
Is there a historical endpoint or do we need to snap daily
(also aggregate volumes rather than specific markets)
You can check the API documentation to have more details: https://api.injective.exchange/#historical-queries
You will need to consider that public nodes are rate limited (https://api.injective.exchange/#overview-rate-limits)
That endpoint seems to be for orderbook level data, is there an endpoint for historica; executed volumes?
The historical queries work for any endpoint. In the API documentation the example is done using the orderbook request, but it does not mean it is the only endpoint for which the historical queries apply.
there is no specifica endpoint for volumes. What you could do is retrieve the trades for a market and aggregate the information
is injective has a function to convert it, i want 309995753948500000000 is 309,9957....(n digits)
@nova hull anyway i'm not able to fix this problem while store on testnet contract that use injective-std = "0.1.4"
Error calling the VM: Error during static Wasm validation: Wasm contract requires unsupported import: \\\"__wbindgen_placeholder__.__wbindgen_describe\\\". Required imports: {\\\"__wbindgen_externref_xform__.__wbindgen_externref_table_grow\\\", \\\"__wbindgen_externref_xform__.__wbindgen_externref_table_set_null\\\", \\\"__wbindgen_placeholder__.__wbindgen_describe\\\", ... 16 more}. Available imports: [\\\"env.abort\\\", \\\"env.db_read\\\", \\\"env.db_write\\\", \\\"env.db_remove\\\", \\\"env.addr_validate\\\", \\\"env.addr_canonicalize\\\", \\\"env.addr_humanize\\\", \\\"env.secp256k1_verify\\\", \\\"env.secp256k1_recover_pubkey\\\", \\\"env.ed25519_verify\\\", \\\"env.ed25519_batch_verify\\\", \\\"env.debug\\\", \\\"env.query_chain\\\", \\\"env.db_scan\\\", \\\"env.db_next\\\"]
wondering if anyone could help. So i'm building a smart contract and i'm trying to deploy to testnet, i have been able to run cargo wasm and it runs fine. But compiling with docker run --rm -v "$(pwd)":/code \ ─╯ --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ cosmwasm/rust-optimizer-arm64:0.12.4
keeps giving this errror error: no matching package named bnum found location searched: registry crates-io required by package cosmwasm-std v1.5.0
Does anyone know how I can solve this?
I'm fairly new to rust.
That will depend on the SDK you are using. Are you using Go SDK, Python SDK or TypeScript SDK?
@frosty kiln
😪😪
it doesn't need to be tuned at all - I just want a basic starting point on python that works with injective endpoints/helix
Have you checked Hummingbot project?
Can anyone help me please ?
Is there an article on INEVM that isnt just high level?
this article is great but its very high level
Hmm i really cant find any resources that explain why INEVM is different from other EVMs. Also i cant find info on how this is native to inj, seems more like a roll up separate to injective. How does it interoperate?
is there any spoliers about volan out there?
mm not yet, please stay tuned as we will provide details as we get closer to it
aight thanks seranium!
i'm using TS SDK
any way to get SigningCosmwasmClient from WalletSrategy?
@kind flare
nope, that's a client related to cosmjs, the walletStrategy is our own implementation for wallet connections on Injective
if you wanna use Injective's sdk similarlly to cosmjs you can read more her ehttps://docs.ts.injective.network/readme/getting-started-cosmjs
tks u, how to query smart contracts with walletStrategy
WalletStrategy is not for querying, it's for wallet management (signing and broadcasting transactions).
i have a code use cosmjs:
this.client.queryContractSmart(this.contractAddress, {
get_pair: {
pool_address: poolAddress
}
})
if i use TS SDK, what it will be?
sorry, i'm newbie so i need time to study and ask more questions
@faint cove please go, read the documentation, at least try a couple times yourself, and then come back. You have not even dedicated two minutes to the docs Bojan shared with you
i have read it before but i dont know how to do
because i think that query is similar with excute, but WalletStrategy seem like can excute but cant query
but WalletStrategy seem like can excute but cant query
You haven't, if you did you'd find out the "Get the state of a smart contract" example and knew what to do
tks u
so my query become:
const result = await chainGrpcWasmApi.fetchSmartContractState({
contractAddress,
{
get_pair: {
pool_address: poolAddress
}
},
})
is it correct?
const result = await chainGrpcWasmApi.fetchSmartContractState({
contractAddress,
Buffer.from(JSON.stringify({
get_pair: {
pool_address: poolAddress
}
},)).toString("base64")
})
Query needs to be in base64
Looking to deploy a search engine on the blockchain any resources i can look into?
Till yesterday everything was working fine , now everytime i try to broadcast a tx it returns
Broadcast error : Error: Failed to get response from https://k8s.testnet.lcd.injective.network/cosmos/tx/v1beta1/txs
Queries are working fine .
Does someone know how could i fix ?
K8s instances of testnet are deprecated, you can find the new public endpoints here https://docs.injective.network/develop/public-endpoints/#testnet
I've tried earlier using the Sentry one and was getting the same error with a different https , seems to be working now ! Thanks
i am trying to compile my code
docker run --rm -v "$(pwd)":/code \ ─╯ --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ cosmwasm/rust-optimizer-arm64:0.12.4
But i keep getting the below error: no matching package named bnum found
location searched: registry crates-io
required by package cosmwasm-std v1.5.0 `
i am using the current version of cosmwasm-std which is v1.5.0
Please how can i fix this?
@frosty kiln
my heros @kind flare , i have a some problem in execute with contract, with cosmjs, my msg when using cosmjs is :
client.execute(this.sender, this.contractAddress, {
astro: {
pair_address: pairAddress
}
}, fee, memo, _funds);
};
so when i use injective sdk ts, is this msg correct?
const msg = MsgExecuteContract.fromJSON({
contractAddress: this.contractAddress,
sender: this.sender,
exec: {
action: "astro",
msg: {
pairAddress: pairAddress
},
},
});
Yes, but I suggest you to use MsgExecuteContractCompat so it's compatible on Ethereum native wallets
i am trying to compile my code
docker run --rm -v "$(pwd)":/code \ ─╯ --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \ --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \ cosmwasm/rust-optimizer-arm64:0.12.4
But i keep getting the below error: no matching package named bnum found
location searched: registry crates-io
required by package cosmwasm-std v1.5.0 `
i am using the current version of cosmwasm-std which is v1.5.0
Please how can i fix this?
@kind flare
cc @frosty kiln
Raised the same issue 4 days ago, no response.
I'll ping him
That's really helpful
Have you tried using the latest rust-optimizer? Also is this production code???
If not use dis -> https://github.com/mandrean/cw-optimizoor
Much faster
@mental river
Okay thanks let me try it out!
Thanks!
yeah thats a mismatch between rust-optimizer version and cosmwasm-std. you can either downgrade cosmwasm-std, e.g. to 1.2.6 or upgrade rust optimizier to a newer version, see versions here https://github.com/CosmWasm/rust-optimizer#cosmwasm-optimizing-compiler
Will try it out
Team, We are trying to use MsgExecuteContractCompat to generate a message and then broadcast it using MsgBroadcasterWithPk. We aren't able to figure out how do we get the privateKey from the wallet? Couldn't find any specific code in the documentation too. Tried PrivateKey.generate() but it is something different we are assuming.
Please help us out here.
yes
Trying to use this function MsgBroadcasterWithPk which takes privateKey as an arg
but i can still use it swap by keplr?
You can't use MsgBroadcasterWithPk using a browser wallet, that one is for a Node environment where you pass a private key.
You need to use the MsgBroadcaster with WalletStrategy
may someone has a link or tutorial on how to deploy a token for a project on injective?
this is for the testnet right?
for mainnet and testnet
ok just saw ...
Thanks a ton @kind flare
Any docs on instantiate2 usage in typescript?
So we used NOIS to provide on chain randomness for our Raffle dAPP and we ended up with some unforseen situation where there is Issue with relayers moving the tx in the IBC. Anyone from Injteams (cc - @kind flare ) can help with this.
CC @tall bronze
If I want to deploy contract on mainnet, I must submit a code upload proposal first?
You can DM me to discuss
What endpoints are you using? Should be mainnetSentry, not mainnet.
This tends to happen due to instanbility but these endpoints (mainnetSentry) should work fine
Working with the NOIS team on this to add more coverage for relayers.
cc @kind flare for anything on TS.
Make a PR to the dev branch by updating the .gitbook folder content
Its better to use toFixed() instead of toString()
The difference is that toString can convert large numbers to scientific notation
Merged
trying to take my contract to testnet, but I'm having I'm Below is the transaction:
Where can I access a well performing archival server. We are willing to pay for one if required. Thanks.
@primal terrace
Thanks will have a team member reach out to learn about access details.
sure DM me
@primal terrace did u hear anything back from them?
We contacted relayers once again, did u try and they still time-out?
@tall bronze might be best explaining here
we also are facing some gas issue but he can expalin better
So they have Gas Usage CAP at 500k and our SC (not optimized) consumed 700k
I keep getting the The transaction failed to be included within a block on time. when trying to send a transaction via sdk. When does this error usually arise?
Use mainnetSentry and not mainnet endpoints.
sending errors now
injectived tx wasm store artifacts/contract.wasm --from=gov --chain-id=injective-1 --node=https://sentry.tm.injective.network/ --gas-prices=500000000inj --gas 20000000
in this key was not found and yes contract was in proper position
i chnege
the environment variable with proper path
Whats the best way to check if my limit order was filled?
You can do that by checking if there is a trade associated to the order. You can also check the order status
Thanks for the quick answer. Can you elaborate on how a trade can be assosiated? Is there an attribute in data?
Where could I get the order status from?
when you request trades information, every entry has the hash of the order they are associated with
You can get the order status from the order history endpoint. You can find the endpoinst descriptions as well as examples on how to use them in the API documentation page
order history doesnt have any request examples for js. Im looking at these docs: https://api.injective.exchange/#injectivespotexchangerpc-streammarkets is that correct?
So you mean I would need to go through all the trades to find out if one was assosiated with my account?
Oh and one more thing, how could I get orderHash after sending a limit Order?
is it calculated from data somehow?
It is. And the whole logic is explained, again, in the API documentation. I really recommend you to take a look at it (https://api.injective.exchange/?go#spot-note-on-localorderhashcomputation-for-hfts-api-traders)
We have developed an interchain staking platform and want to connect it to INJ, but 500 Coins for a propozal is an unaffordable amount for us. Who can I contact for help?
And do we have a chance to get some money from the developer grant? We have ready documentation for all smart contracts
Had a query, I keep facing this in testnet of Injective in Keplr wallet is it down?
The endpoint is not the correct on. @kind flare is that something we can change on our side or we should raise the issue to Keplr team?
Try changing the endpoints on the Keplr directly, here are the public testnet endpoints: https://docs.injective.network/develop/public-endpoints/#testnet
I'll reach out to their team to change the endpoints to the default ones
Thank you for your swift response, I tried this but unfortunately it does not allow changing the end points for testnet , I have the option to change the mainnner ones. Will wait for Keplr to change from their end and see. It was working fine I think , not sure if it's just happening to my wallet.
!faucets
Faucets for INJ tokens
Receive a small amount of INJ, enough to make 1-2 transactions.
- https://inj.supply/
- https://stakely.io/en/faucet/injective-protocol
- https://bwarelabs.com/faucets/injective-mainnet
For Testnet use: https://testnet.faucet.injective.network/
idk if the testnet one is working
if it doesn't work, you can try it in a few hours.
when i run this
docker run --rm -v "$(pwd)":/code
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry
cosmwasm/workspace-optimizer:0.12.6
i get this error
error[E0599]: no method named cast_mut found for raw pointer *const [u8; 8] in the current scope
--> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/bnum-0.8.0/src/bint/endian.rs:85:47
I will also like to know
Thanks a ton Bojan & Abel, Everything seems to work perfectly now and the endpoints are sorted 
Medium
As the curtain falls on 2023, investors may reflect: Is missing out on Injective (INJ) a significant regret? On November 30, the well-known…
@loud seal please remember that most of the common and basic questions are already addressed in the API documentation page https://api.injective.exchange/?python#faq-15-when-may-i-see-account-sequence-mismatch-errors
I want to post a proposal to deploy my lending protocol and saw that there is restriction to deposit 500 INJ.
Is it going to return back to me later or obtained by governance as a pay for deploy to mainnet?
Never saw such approach and was curious.
Thanks for response in advance
You can read all about it here -https://blog.injective.com/injective-governance-proposal-procedure/
While installing injectived we are getting this error zsh: exec format error: injectived. What can be the issue here?
Not sure but this might help: https://stackoverflow.com/questions/36198418/golang-cannot-execute-binary-file-exec-format-error
I'm trying to install Injective in my Mac Os but getting this error=>
macbook@MacBooks-MacBook-Pro-2 darwin-amd64 % cd ..
macbook@MacBooks-MacBook-Pro-2 Downloads % injectived version
dyld[13396]: Library not loaded: '@rpath/libwasmvm.dylib'
Referenced from: '/usr/local/bin/injectived'
Reason: tried: '/Users/runner/go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.2.3/internal/api/libwasmvm.dylib' (no such file), '/Users/runner/go/pkg/mod/github.com/!cosm!wasm/wasmvm@v1.2.3/internal/api/libwasmvm.dylib' (no such file), '/usr/local/lib/libwasmvm.dylib' (no such file), '/usr/lib/libwasmvm.dylib' (no such file)
zsh: abort injectived version
Can anyone help me?
I only send 2 requests per 60seconds, any other endpoints I can use to retrieve contract txs or any solution please.
POST https://grpc.injective.network/cosmwasm.wasm.v1.Query/SmartContractState net::ERR_QUIC_PROTOCOL_ERROR
Why does this error occur ?
If the rate limits in the public servers is too small for your needs you should evaluate running your own node. There are no alternative endpoints apart from the ones described in the API documentation
Hello @emyr. What where you running when you got the error? Were you using any of the SDKs?
in your first smart contract on injective there is line:
The testuser address should have 10000000000000000000 INJ balance.
But i ckecked my address has 0, What could be wrong here?
I need to setup a Private Node in order to speed up my Trading Bot on Injective.
I was looking at this document https://injective.notion.site/Injective-Exchange-Service-Setup-Guide-7e59980634d54991862300670583d46a#bfbf3cc38cc04234ad13b12e30d73fdb
Someone no if the Event Provider Service is crucial for the Node performance? I'd like to rely on the Injective public one since is very storage demand.
@primal terrace
does anyone use thirdweb in order to deploy contracts on injective chain ?
And if i want to deploy a nft collection on injective mainet how the mainet is called
Yo builders
I have a tool idea we'll all need
So as an investor through INJ I will be able to buy exposure to multiple different asset classes through derivatives, right? I'd like to visualize my portfolio exposure, but also to be able to design my exposure. So if I have a capital in INJ worth $10k, I want exposure to bitcoin (everything denominated in USD) of $5k, ethereum $5k and INJ $5k and S&P500 $5k, the tool I'm proposing will tell me which derivatives I need to buy in what amount to achieve that. As a bonus it would visualize in what scenario I would get liquidated.
I think that a lot of users would dream of such tool that would help them manage their wealth using Injective exchange, but keep exposure to many different assets.
yes, you can proceed without an event provider. For real-time trading you will be able to rely entirely on the chain after the new and upcoming upgrade, @topaz seal can share more details here.
whats up guys -- getting a block height error when i try to launch token. any idea what that could be?
Achilleas is referring to chain streams. They are currently supported only in Testnet. They will be available in Mainnet after the chain upgrade
https://api.injective.exchange/#chain-stream
is it possible to update the image URL for a token after launching? @primal terrace
I'm trying to create an NFT minting smart contract for Injective. Could you please provide me with a reference or example to get started? Your guidance would be greatly appreciated.
If you want mod or cm for your NFT project DM, am available
Yes you can edit the metadata.
thank you
I also want some help for same purpose, if there is anyone who can help me.
check this one it will help you. => https://github.com/CosmWasm/cw-nfts/tree/main/contracts
How do I consult the code associated with a given wasm code ?
thx
What is the best way to PERMENANTLY burn tokens. Such as LP tokens from Astor Dex?
@primal terrace
There's no standardized way to burn tokens right now unless if the token itself has a burn property (native tokens on Injective do)
OK so then the question remains. IF I hold the entire supply of a CW20 token (I hold the entire LP supply for a token pair) then it holds true that when I call the burn function the total supply would go to zero. Now that sounds terrifying lol. would the LP still work as expected?
I don't see why the LP token would be affected but you'd need to continue supplying liquidity over time so don't burn everything :).
I recommend you launch a native tokenfactory bank denom and not CW20 since it can compose with all the dApps in the ecosystem.
I did launch the tokenfactory. then I created a liqudity pair with INJ on Astor.
Cool so it's not CW20, it's tokenfactory
Can u DM me?
The token I minted is. correct. But when you create an LP on Astor it creates a CW20.
yes
Where does one find the list of all the contracts on the chain with their code ? I see a way to access the wasm but not the original code, nor their api
You will have to contact the contract developer to have access to the code
Did you want to create a token ?
I see so conteacts are black boxes ?
Does anyone know if the injective EVM is available yet or is it still just in testnet?
Here are the docs for inEVM: https://docs.injective.network/develop/inEVM/
same issue
did anyone find a fix ?
Pinging cause i saw this was never answered
@plush oyster @willow notch
asking team now
Running into the ''rpc error: code = NotFound desc = account [xxx] not found: key not found', error I've seen others mentioning here, but no solutions I can see other than check the balance. I'm confident the account is funded. Anyone have any insight into what's going on?
I will ask team and get back to you soon
When someone from the dev see this, he will reply
anyone have testnet Inj?
send some to inj150g6j3skeduqp85hp687kkn3fnljzgtd4pajkf
faucet broken
Testnet it’s under maintenance ahead of the upgrade
that's why I am asking if anyone have in wallet
Yes, but there is no way right now to send you someone
it can be sent like any other asset right
the whole testnet is down?
Nope, like i said, it's under maintenance. It will be back soon
Is there a way for us to have Chainlink oracle here on injective
Nois's killing us
Or at least guys help a bit with infrastructure
Relayers cant relay, tx not going through
guys where are new listed coins such as $ninja and $katana announced first ?
once they update the liquidity
Hello! Is there an equivalent of the evm 0x0 address or 0xdead ?
@austere bobcat I am planning to launch a coin and will need to lock liquidity can you help me ?
Or can you get me in touch with a dev ?
I can't help you here, it's best to wait an answer from the team
I understand
@willow notch please help would be great on that 🙂
Hello how do I verify the time of the contract deployed , marketcap , liquidity ,etc for a coin found on injexplorer . for example this : https://explorer.injective.network/asset/?tokenType=tokenFactory&denom=factory/inj1lhr06p7k3rdgk0knw5hfsde3fj87g2aq4e9a52/BINJ
How can I install Injectived fully on mac?
"Note: you will only install injectived but not injective-exchange, peggo or libwasmvm.x86_64.so using this option."
Seems I managed to install injective core using the git clone command but I get "zsh: command not found: injectived" when prompting "injectived version"
Why is the community manager the only one to answer I'm so very sad.
Because devs are not available at every moment, so when they see your questions you will get an answer
You can use WSL on windows. Or I recommend just using one of the SDKs
why I'm i getting this error
I want to create my Denom on INJ
please how can you help me?
been stucked for hours
please, I need to create a token for my project, i've nee getting errors
@desert garden
it s a javascript error here my man, you need to use the await in an async function otherwise it will refuse
Those are chatgpt-able questions
Wrap it in parenthesis and make it a self calling function or remove await and use thenable logic
I would try that, can you send me a sample code via dm?
There is not such a thing. We can ask @primal terrace for more details
The error message is telling you what the problem is: await is only valid in async functions (make the calling function an async function and that is it. If not sure what I am talking about, you will have to get familiarized with async processing)
Thanks !
My question is then the following : how would you go about ensuring when you provide liquidity that you can never remove it (to increase trust etc).
Please check this resent message from Achilleas #🚀・dev-support message
no, you can use also public nodes
import { MsgCreateDenom, MsgBroadcasterWithPk, Network } from "@injectivelabs/sdk-ts";
import { BigNumberInBase } from "@injectivelabs/utils";
async function broadcastMsg() {
const injectiveAddress = "inj1...";
const privateKey = "0x...";
const subdenom = "inj-test";
const msg = MsgCreateDenom.fromJSON({
subdenom,
sender: injectiveAddress,
});
// Corrected instantiation of MsgBroadcasterWithPk
const txHash = await new MsgBroadcasterWithPk({
privateKey,
network: Network.Testnet,
}).broadcast({
msgs: [msg], // Corrected array notation for messages
});
console.log(txHash);
}
// Call the async function
broadcastMsg();
Would this work? @topaz seal
Heh, anyone got code to make a coin?
heii, is Injective an evm compatible chain ? Can we deploy solidity contracts and to be safe that they would be compatible on injective?
Yes, injective is EVM compatible through cosmwasm
Roger that, thank you!
how can i query contract state ?
Hey sir, we might need to run go mod tidy. Also can download injectived here
https://github.com/InjectiveLabs/injective-chain-releases/releases
im running into the same issue, downloaded injectived from git, do i add the darwin folder into path?
I want to add metadata to my denom, but theres an error metadata's first denomination unit must be the one with base denom 'factory/inj1
have managed to install them but verifysignature is still an issue in code not sure why, downloaded injectived directly from git
getting these errors on TS as well
installed the modules correctly (i think)
Try:
import { _m0 } from "protobufjs/minimal"
Module '"protobufjs/minimal"' has no exported member '_m0'
Weird, that means _m0 does not exist in protobufjs/minimal.
You can double check whether you're importing from the correct destination or the other devs might be able to help you once they're here.
yea still getting the error, most of my ts are returning error idk why
used yarn add @injectivelabs/sdk-ts
Maybe retry with Npm or Pnpm but I doubt that would change anything unless the installation didn't work correctly with Yarn.
tried with npm at first, didnt work, wiped node modules
then tried with yarn
returned same errors
anyone with experience in injective python api?
looking to get token supply of a specific token but unable to figure out
Can somone help me pls ? have you an exemple to build a native token on $INJ ?
We don't need to build a smart contract ?
Hey, its sunday and not everybody is here, please have patience, Abel will respond when availble
thanks
When we create a wallet, in which location is this wallet saved?
is there no way to query the indexer API via URL? I've gone through the doc and i couldn't find it. It's always just python, go and ts. But never plain URL to endpoint. Kind of confusing
Here missing MsgSetDenomMetadata
Error: post failed: Post "http ://localhost:26657": dial tcp 127.0.0.1:26657: connect: connection refused
any dev??
Anyone know how to query tx from a contract ?
Why the requirement to install Injectived are so high ? Can it run in a simple mac M2 ?
Anyone in here have mining experience that could help me out?
I don't have any issues. I just have an extra GPU and CPU right now because I upgraded the ones in my gaming PC so I was trying to put them to use. I wouldn't mind making a mining PC with them or something. I just need some guidance on things like "best hardware recommendations/set-up, Best/profitable coins to mine, how to get the mining programs and everything set-up, etc". So really I need like a mentor/coach lol. I'm willing to compensate for time if I end up moving forward and someone helps me throughout the process.
when you create a token, you need to mint them all for the supply to be available on the market ?
I'm not necessarily talking specifally for $INJ just mining in general
Sorry for ping
Sorry i'm not good in technical, please wait until developer reply to you in this chat
ahh ok ty
This is my error, so any devs lmk
I want to stake, but it's asking for a memo, do I just leave if blank?
just leave it blank
Thanks
im getting a key not found error when trying to create my token
but when i check gov my key is found and it matches it
@plush oyster do i need a node to create a tokenfactory denom?
Sorry i'm not good in technical, please wait until developer reply to you in this chat
Error: rpc error: code = NotFound desc = rpc error: code = NotFound desc = key not found
Usage:
injectived tx tokenfactory create-denom [subdenom] [flags]
i definitely have the key and its definitely set as gov
any docs or repo on token transfer using js or python?
what to do with this error?
i tried on any devices, by still receive this error
(i check my private-key and address, they are both correct)
I am inscribing a token on the Injective chain in a short time. I need a reliable RPC endpoint but I don't see notable rpc providers like alchemy or infura selling them. How do I get a custom RPC please?
Can anyone help me with finding refrence for implementing connect wallet in dapp on injective
after running a local node i been having keyring passphrase issue.
.
I tried using recover but keeps trynna have me enter a keyring passphrase
before i set up a local node i had done -> injectived keys add gov
and set up a password that was always working
now, i cant look at my keys list or anything after running the local node because any passphrase is incorrect even whenn trying to recover.
any help would be appreciated.
How to make a smartcontact?
how to make nft collection on inj?
Use Talis: https://injective.talis.art
any seasoned Dev to collaborate. I have the arts collection ready, but just not very savvy in marketing and IT. I need a staking platform and gamification. hit me in DM if interested.
I wanna launch an NFT project on Injective, is there anyone here who could help me?
Is there a launchpad or something?
im getting the same error
And do you have INJ in your balance?
testnet is down 😦
Testnet is undergoing maintenance now, we'll share more once we've done the upgrade
i was looking into the injective docs, and i'm a bit confused, If I want to create a token on Injective, can I use the Tokenfactory from the typescript SDK ? it is enough to manage the ticker, the amount, list the coin ?
any thoughts where i can get the get signer import for injectlabs?
Do I need a new token factory for every new token or is the 10 INJ Fee onetime and i can create as many as i want?
testnet is down so i cant confirm that 100% but i think yes
You only need a dedicated server for the validator if you want to run this
I thought too, but a bit confused about how ppl will exchange the token between each other ? is the transferable smart contract are within the token factory creation ?
can't I list it on a dex ?
i dont know we will see if testnet is back
Unfortunately, the docs are still very, very poorly filled
That is not a valid URL. Where did you get it from?
You need to run a node yourself
Please check the docs. That question is already covered there https://docs.injective.network/develop/tools/injectivets/
injective-ts is a TypeScript monorepo that contains packages which can be used to interact with Injective from a Node.js or browser environments and which provide simple abstractions over core data structures, serialization, key management, and API request generation, etc. The packages can be found in the packages folder and each package is a np...
Is Injective even developeable on windows? I tried gettin Injectived to work but to no avail, getting VM now
couldnt find the path from cmd even though i added the correct one to windows PATH
It might be possible to work using the source code in Windows (I am not sure if anyone tried that before).
aight, il use a VM thank you
@topaz seal is there a token template thats someone already made or i gotta go from the docs, might aswell ask it, to maybe potentially save some work :3
What do you mean with "token template"?
Regarding the docs, you can find the token launch related info here https://docs.injective.network/develop/guides/token_launch/
got it
How did you install the package (or tried to install)?
What was the result of that?
I mean the result of the pip install command
Then you need to make sure the environment you installed the package in is the one active when you are running the scripts
pyinjective module is part of the injective-py package. If that was not the case, every user of the Python SDK should be experiencing the error
Is the testnet faucet working? Can anybody send me some token on testnet? Appreciated!
inj1zvkdzpnch8znwdlkth222jvx3wjtn52e4d5qt6
failed to execute message; message index: 0: can not create code: unauthorized
what should i need to do to deploy contract on injective
@topaz seal
what is the code id for cw20
In testnet or mainnet? For testnet these are the steps https://docs.injective.network/develop/guides/cosmwasm-dapps/Your_first_contract_on_injective#upload-the-wasm-contract
mainnet
For mainnet: https://docs.injective.network/develop/guides/cosmwasm-dapps/Cosmwasm_CW20_deployment_guide_Mainnet
Do you know any other contract using the same code? You can check the code id when checking the contract address in Explorer
What injective-py version are you using? That global is only available in the release candidate SDK version used to interact with the current testnet
Are you intending to interact with Mainnet or Testnet?
Please us version 0.9.* for Mainnet (pip install injective-py==0.9.11)
Also, in that case you need to specify the gas amount in the traditional way (you can check the examples in the current master python SDK GitHub repo
Yes, that is correct
can I fauct gas
Please, please, please: always make sure to check the documentation before posting question in the forum https://api.injective.exchange/#spot-msgcreatespotlimitorder
But the information is still there in the documentation: https://api.injective.exchange/#overview-order-types
is there cross chain example, is this possible yet ( cosmos <> sol for instance)?
is the testnet live again ?
are we have any docker image?
try using this but seem it not work till now https://github.com/InjectiveLabs/injective-chain-releases/releases
Is the faucet testnet down ?
how sir? is there a docs i can follow?
yes I guess, waiting for it to be up :/,
I'm a junior manager of a vault on enzyme. Our vault has $1.5 million in AUM and we are very interested in investing in INJ in our index but the only thing preventing enzyme from offering INJ is the lack of an oracle pricefeed from chainlink. Anything on roadmap to integrate INJ with a chainlink oracle?
How are you creating the composer instance?
what is the CODE_ID FOR cw20
I am using Injective-TS and follow all the steps are stated on the documentation, but, I am receiving the following error whatever I try.
Error: rpc error: code = NotFound desc = account injxxxxxxxxxxxxxxxxxxxx not found: key not found at ChainRestAuthApi.<anonymous> (/node_modules/@injectivelabs/utils/src/classes/HttpRestClient.ts:59:40) at Generator.throw (<anonymous>) at rejected (/node_modules/@injectivelabs/utils/dist/cjs/classes/HttpRestClient.js:6:65) at processTicksAndRejections (node:internal/process/task_queues:95:5) { type: 'http-request', code: 404, originalMessage: 'rpc error: code = NotFound desc = account injxxxxxxxxxxxxxxxxxxxx not found: key not found', name: 'HttpRequestException', errorClass: 'HttpRequestException', context: 'cosmos/auth/v1beta1/accounts/injxxxxxxxxxxxxxxxxxxxx', ...
I'm trying to launch a native token on inejctive and when I enter this code
injectived tx tokenfactory create-denom aall --from=gov --chain-id=injective-1 --node=https://tm.injective.network:443 --gas -prices=500000000inj --gas 1000000 ,
Error: rpc error: code = NotFound desc = rpc error: code = NotFound desc = account inj1xxxxxxxxxxxxxxxxxxxxxxxxxxx not found: key not found
I get the error
can i ask which program do u use and your token template, might help
this is the first code for mainnet
testnet works fine but mainnet..
I didn't make a test on testnet, but, I received a similar error on mainnet.
trying to deploy my first factory token. I do have 0.32 INJ on the wallet.
However i am getting the error 'rpc error: code = NotFound desc = account <wallet address> not found: key not found'
any idea what it could be? the code is take from the documentation and looks alright
that's what we're looking for
please double check if the account you are ussing to send the TX to create the token is really the one that has those 0.32 INJ
What is the public address fro gov ?
Is 0.32 inj required for the first transaction?
yes (well i put 0.3 INJ actually)
https://explorer.injective.network/account/inj13h5fhnapenygtw0fk88a86v560gjqje0skxumw/
and getting:
'rpc error: code = NotFound desc = account inj13h5fhnapenygtw0fk88a86v560gjqje0skxumw not found: key not found'
sent more just now and same error
I have 11 INJ on my account now, but, I am still receiving the same error for this account
nice..
Could you try again but using the correct endpoint? (https://docs.injective.network/develop/public-endpoints)
failed to execute message; message index: 0: spendable balance 417426579448699242inj is smaller than 10000000000000000000inj: insufficient funds
so it worked thank you
Anyone able to help me with the payload construction in Python to execute buy on a contract? I've been wrestling it for a few hours now and I really don't know what to do anymore.
This is how I construct and encode the payload:
sender_address = address.to_acc_bech32()
contract_address = "inj1panle4qyyg45vrwgjlsxv6hvffmgkfa38f0we7"
contract_msg = json.dumps({
"swap": {
"offer_asset": {
"info": {
"native_token": {
"denom": "inj"
}
},
"amount": "100000000000000000",
"max_spread": "0.02",
"belief_price": str(belief_price)
}
}
})
contract_msg_base64 = base64.b64encode(contract_msg.encode()).decode()
funds = [
composer.Coin(
amount="100000000000000000", # 0.1 INJ in Wei
denom="inj"
)
]
msg = composer.MsgExecuteContract(
sender=sender_address,
contract=contract_address,
msg=contract_msg_base64,
funds=funds
)
And I keep getting this error message no matter what I do:
Simulation failed: <AioRpcError of RPC that terminated with:
status = StatusCode.UNKNOWN
details = "payload msg: invalid [!injective!labs/wasmd@v0.40.0-inj/x/wasm/types/tx.go:161] With gas wanted: '0' and gas used: '115000' "
debug_error_string = "UNKNOWN:Error received from peer ipv4:51.81.221.159:443 {created_time:"2023-12-18T20:19:04.3001+00:00", grpc_status:2, grpc_message:"payload msg: invalid [!injective!labs/wasmd@v0.40.0-inj/x/wasm/types/tx.go:161] With gas wanted: '0' and gas used: '115000' "}"
metadata's first denomination unit must be the one with base denom 'factory/<INJ_ADDRESS>/<DENOM_NAME>, WHAT IS THAT MEAN
how you do it in testnet.. ? got that NotFound error on my testnet test..
never mind. My JSON wasn't nested correctly. Managed to send out the tx now.
originalMessage: 'block height: 54787826, timeout height: 54768386: tx timeout height', , what is that mean
We have a project and want to come to INJ ecosystem. Which is the best place to find all info that is related to token creation and launch? Maybe someone can guide us?
@topaz seal can you help me?
Lads Im currently following the "how to deploy on testnet guide". Step 1-2 seem fine but then once I attempt to deploy it gives me the following error, even though I followed the guide to the letter. Its not my first time deploying on different blockchains either so I know how to avoid basic command line errors etc
Could anyone please help me pinpoint the issue?
Would greatly appreciate any help
@primal terrace @soft dome @kind flare @winged maple @frosty kiln Perhaps
no dont think so, do i need ot have inj in my genesis wallet?
Note here that Im running two tasks as requested in the tutorial, one running injectived in the background
And another one which I used to actually acess injectived
Any Import signer for cosmwasm?
What step is that in the guide?
Or how should I do that, still within injectived?
Just following this guide, could u pls let me know if I overlooked some kind of pre-requisite to it?
can someone send some inj in testnet please, faucet not working
inj17g5ad3xy25rz9je6wu85qye09xklppswh6p0eu
@kind flare
It literally says what you need to do, read the output of the TypeScript compilation.
Please can anyone help me? Kinda working with a deadline here and idk what to say I followed the guide to the LETTER on two computers
I just made my keys why would it say that it cant find my keys...
This is what Im getting over at the docker terminal
Not really sure what the last message means
@kind flare Could you maybe provide some info here?
Ty I will send it to my dev
cc @primal terrace
Thx!
Time is really of the essence here, I assumed that because all other steps went well that I was ready to deploy, even on testnet...
Please
Help would be much needed Im going crazy I checked that every line corresponds to the tutorial
Im not trying anything crazy, just literally deploying the standard regular normal contract on testnet
How does it fail right away
please i have been trying all day long
You have to be patient, we are overwhelmed with activity right now and we are trying to optimise our stack to make sure users don't experience any issues. Try following the docs, if that doesn't help we'll reply once everything is stable.
Aight thanks man!
We're listening the tendermint unconfirmed transactions and decoding them using CosmosTxV1Beta1Tx.TxRaw.decode(unconfirmed[j], 'base64')
Then, what would be the best way to extract the value and match it with the right transaction type ?
Thanks
Did you find the solution there already?
Did you find the solution there?
Okay its solved, had to use a different RPC url than the one provided in the guide
send funds to the account, it's empty
Which one have you used?
i know it isnt... im looking at it on the explorer
However Im getting this error now, that transaction did fail
It says now that Im unauthroized to put the code up
Mainnet contract depoloyments need to go throuhg governance
Though its the default cw20-plus file
Used in that tutorial
Guy hw una dey
Why would that have to go through governance its literally in the official docs?
I dont get it
@tame fable what are you trying to do? can you summarize the discussion for me
Im trying to follow the guide on deploying contracts on testnet
Except I did it on mainnet now since I have no testnet funds
testnet doesn't require governance, it should work. but yes mainnet won't work
And now I managed to but it gives the following error "failed to execute message; message index: 0: can not create code: unauthorized"
So if I read the mainnet docs correctly
I have to submit some kind of proposal twice?
Once for code creation and once for instantiation?
can you share the link to the docs? that sounds incorrect, maybe its wrong in the docs
Here we go
Man I have to say its really complicated...
Do I need to first run the "submit a code upload proposal to injective mainnet"?
And then try to upload the code?
Because once again I only have compiled cw20_base, surely that has been verified by governance through and through?
So this is correct, as you can read it depends on what instantiate permissions the contract was uploaded with. So bottom line is you need only one proposal to create the code. And instantiation works either for everyone or just for your own address, depending on the upload config.
Okay Im going to try and get it done then
How long does that verification take would u say?
But I also don't recommend you upload to mainnet, sounds like you really should use testnet
a random governance proposal to upload some contract won't be approved by governance
Its the CW20 contract
Man Im sorry but Im not getting the docs then