Rust contracts for Balanced xCall integrations
To build the contract and verify built wasm file run following script:
./scripts/generate_wasm.sh
To build the contract for specific chain with its own features, enable the feature as default by modifying Cargo.toml
.
For injective chain we enable feature injective
in all projects and subprojects by modifying feature section as follows:
[features]
default=["injective"]
- Call method
SetAdapter
on this contract to set adapter contract.
injectived tx wasm execute ${TOKEN_CONTRACT} '{"set_adapter":{"registry_contract":"${REGISTRY_CONTRACT}"}}' --from ${WALLET} --keyring-backend test --node https://injective-testnet-rpc.publicnode.com:443 --chain-id injective-888 --gas-prices 500000000inj --gas auto --gas-adjustment 1.5 -y --output json
- Register this contract to CW20Adapter contract by calling
RegisterCW20
on adapter contract.
injectived tx wasm execute ${REGISTRY_CONTRACT} '{"register_cw20_contract":{"addr":"${TOKEN_CONTRACT}"}}' --from ${WALLET} --keyring-backend test --amount 1000000000000000000inj --node https://injective-testnet-rpc.publicnode.com:443 --chain-id injective-888 --gas-prices 500000000inj --gas auto --gas-adjustment 1.5 -y --output json
- Update metadata on CW20Adapter by calling
UpdateMetadata
.
injectived tx wasm execute ${REGISTRY_CONTRACT} '{"update_metadata":{"addr":"${TOKEN_CONTRACT}"}}' --from ${WALLET} --keyring-backend test --amount 1000000000000000000inj --node https://injective-testnet-rpc.publicnode.com:443 --chain-id injective-888 --gas-prices 500000000inj --gas auto --gas-adjustment 1.5 -y --output json
After properly setup we should be able to query balance transferred to user as denom token balance as follows:
injectived query bank spendable-balance ${USER_ACCOUNT} factory/${REGISTRY_CONTRACT}/${TOKEN_CONTRACT} --node https://injective-testnet-rpc.publicnode.com:443 --chain-id injective-888