Skip to content

Commit

Permalink
Merge pull request #287 from InjectiveLabs/feat/add_all_wasm_module_e…
Browse files Browse the repository at this point in the history
…ndpoints

Feat/add all wasm module endpoints
  • Loading branch information
aarmoa committed Jan 5, 2024
2 parents ffd1928 + 1e359f3 commit 2b33a3b
Show file tree
Hide file tree
Showing 27 changed files with 1,663 additions and 1 deletion.
16 changes: 16 additions & 0 deletions examples/chain_client/58_ContractInfo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
contract_info = await client.fetch_contract_info(address=address)
print(contract_info)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
20 changes: 20 additions & 0 deletions examples/chain_client/59_ContractHistory.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
address = "inj18pp4vjwucpgg4nw3rr4wh4zyjg9ct5t8v9wqgj"
limit = 2
pagination = PaginationOption(limit=limit)
contract_history = await client.fetch_contract_history(address=address, pagination=pagination)
print(contract_history)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
20 changes: 20 additions & 0 deletions examples/chain_client/60_ContractsByCode.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
code_id = 3770
limit = 2
pagination = PaginationOption(limit=limit)
contracts = await client.fetch_contracts_by_code(code_id=code_id, pagination=pagination)
print(contracts)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
20 changes: 20 additions & 0 deletions examples/chain_client/61_AllContractsState.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
limit = 2
pagination = PaginationOption(limit=limit)
contract_history = await client.fetch_all_contracts_state(address=address, pagination=pagination)
print(contract_history)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
17 changes: 17 additions & 0 deletions examples/chain_client/62_RawContractState.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
query_data = '{"get_count": {}}'
contract_state = await client.fetch_raw_contract_state(address=address, query_data=query_data)
print(contract_state)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
17 changes: 17 additions & 0 deletions examples/chain_client/63_SmartContractState.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
query_data = '{"get_count": {}}'
contract_state = await client.fetch_smart_contract_state(address=address, query_data=query_data)
print(contract_state)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
20 changes: 20 additions & 0 deletions examples/chain_client/64_SmartContractCode.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import asyncio
import base64

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
response = await client.fetch_code(code_id=290)
print(response)

code = base64.b64decode(response["data"]).decode(encoding="utf-8", errors="replace")

print(f"\n\n\n{code}")


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
19 changes: 19 additions & 0 deletions examples/chain_client/65_SmartContractCodes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
limit = 2
pagination = PaginationOption(limit=limit)
response = await client.fetch_codes(pagination=pagination)
print(response)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
19 changes: 19 additions & 0 deletions examples/chain_client/66_SmartContractPinnedCodes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
limit = 2
pagination = PaginationOption(limit=limit)
response = await client.fetch_pinned_codes(pagination=pagination)
print(response)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
20 changes: 20 additions & 0 deletions examples/chain_client/67_ContractsByCreator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.client.model.pagination import PaginationOption
from pyinjective.core.network import Network


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
client = AsyncClient(network)
creator = "inj1h3gepa4tszh66ee67he53jzmprsqc2l9npq3ty"
limit = 2
pagination = PaginationOption(limit=limit)
response = await client.fetch_contracts_by_creator(creator_address=creator, pagination=pagination)
print(response)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
15 changes: 15 additions & 0 deletions examples/chain_client/68_AuthorityDenomMetadata.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
metadata = await client.fetch_denom_authority_metadata(creator="inj1zvy8xrlhe7ex9scer868clfstdv7j6vz790kwa")
print(metadata)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
15 changes: 15 additions & 0 deletions examples/chain_client/69_DenomsFromCreator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
denoms = await client.fetch_denoms_from_creator(creator="inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3")
print(denoms)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
15 changes: 15 additions & 0 deletions examples/chain_client/70_TokenfactoryModuleState.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import asyncio

from pyinjective.async_client import AsyncClient
from pyinjective.core.network import Network


async def main() -> None:
network = Network.testnet()
client = AsyncClient(network)
state = await client.fetch_tokenfactory_module_state()
print(state)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
35 changes: 35 additions & 0 deletions examples/chain_client/71_CreateDenom.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import asyncio

from pyinjective.composer import Composer as ProtoMsgComposer
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
from pyinjective.core.network import Network
from pyinjective.wallet import PrivateKey


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
composer = ProtoMsgComposer(network=network.string())
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"

message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
network=network,
private_key=private_key_in_hexa,
)

priv_key = PrivateKey.from_hex(private_key_in_hexa)
pub_key = priv_key.to_public_key()
address = pub_key.to_address()

message = composer.msg_create_denom(
sender=address.to_acc_bech32(), subdenom="inj_test", name="Injective Test Token", symbol="INJTEST"
)

# broadcast the transaction
result = await message_broadcaster.broadcast([message])
print("---Transaction Response---")
print(result)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
38 changes: 38 additions & 0 deletions examples/chain_client/72_MsgMint.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import asyncio

from pyinjective.composer import Composer as ProtoMsgComposer
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
from pyinjective.core.network import Network
from pyinjective.wallet import PrivateKey


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
composer = ProtoMsgComposer(network=network.string())
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"

message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
network=network,
private_key=private_key_in_hexa,
)

priv_key = PrivateKey.from_hex(private_key_in_hexa)
pub_key = priv_key.to_public_key()
address = pub_key.to_address()

amount = composer.Coin(amount=1_000_000_000, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test")

message = composer.msg_mint(
sender=address.to_acc_bech32(),
amount=amount,
)

# broadcast the transaction
result = await message_broadcaster.broadcast([message])
print("---Transaction Response---")
print(result)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
38 changes: 38 additions & 0 deletions examples/chain_client/73_MsgBurn.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import asyncio

from pyinjective.composer import Composer as ProtoMsgComposer
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
from pyinjective.core.network import Network
from pyinjective.wallet import PrivateKey


async def main() -> None:
# select network: local, testnet, mainnet
network = Network.testnet()
composer = ProtoMsgComposer(network=network.string())
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"

message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
network=network,
private_key=private_key_in_hexa,
)

priv_key = PrivateKey.from_hex(private_key_in_hexa)
pub_key = priv_key.to_public_key()
address = pub_key.to_address()

amount = composer.Coin(amount=100, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test")

message = composer.msg_burn(
sender=address.to_acc_bech32(),
amount=amount,
)

# broadcast the transaction
result = await message_broadcaster.broadcast([message])
print("---Transaction Response---")
print(result)


if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
Loading

0 comments on commit 2b33a3b

Please sign in to comment.