Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/add all wasm module endpoints #287

Merged
merged 8 commits into from
Jan 5, 2024
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
Loading