Skip to content

Commit 2b33a3b

Browse files
authored
Merge pull request #287 from InjectiveLabs/feat/add_all_wasm_module_endpoints
Feat/add all wasm module endpoints
2 parents ffd1928 + 1e359f3 commit 2b33a3b

27 files changed

+1663
-1
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
11+
contract_info = await client.fetch_contract_info(address=address)
12+
print(contract_info)
13+
14+
15+
if __name__ == "__main__":
16+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
address = "inj18pp4vjwucpgg4nw3rr4wh4zyjg9ct5t8v9wqgj"
13+
limit = 2
14+
pagination = PaginationOption(limit=limit)
15+
contract_history = await client.fetch_contract_history(address=address, pagination=pagination)
16+
print(contract_history)
17+
18+
19+
if __name__ == "__main__":
20+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
code_id = 3770
13+
limit = 2
14+
pagination = PaginationOption(limit=limit)
15+
contracts = await client.fetch_contracts_by_code(code_id=code_id, pagination=pagination)
16+
print(contracts)
17+
18+
19+
if __name__ == "__main__":
20+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
13+
limit = 2
14+
pagination = PaginationOption(limit=limit)
15+
contract_history = await client.fetch_all_contracts_state(address=address, pagination=pagination)
16+
print(contract_history)
17+
18+
19+
if __name__ == "__main__":
20+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
11+
query_data = '{"get_count": {}}'
12+
contract_state = await client.fetch_raw_contract_state(address=address, query_data=query_data)
13+
print(contract_state)
14+
15+
16+
if __name__ == "__main__":
17+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
address = "inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7"
11+
query_data = '{"get_count": {}}'
12+
contract_state = await client.fetch_smart_contract_state(address=address, query_data=query_data)
13+
print(contract_state)
14+
15+
16+
if __name__ == "__main__":
17+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
import base64
3+
4+
from pyinjective.async_client import AsyncClient
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
network = Network.testnet()
10+
client = AsyncClient(network)
11+
response = await client.fetch_code(code_id=290)
12+
print(response)
13+
14+
code = base64.b64decode(response["data"]).decode(encoding="utf-8", errors="replace")
15+
16+
print(f"\n\n\n{code}")
17+
18+
19+
if __name__ == "__main__":
20+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
limit = 2
13+
pagination = PaginationOption(limit=limit)
14+
response = await client.fetch_codes(pagination=pagination)
15+
print(response)
16+
17+
18+
if __name__ == "__main__":
19+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
limit = 2
13+
pagination = PaginationOption(limit=limit)
14+
response = await client.fetch_pinned_codes(pagination=pagination)
15+
print(response)
16+
17+
18+
if __name__ == "__main__":
19+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.client.model.pagination import PaginationOption
5+
from pyinjective.core.network import Network
6+
7+
8+
async def main() -> None:
9+
# select network: local, testnet, mainnet
10+
network = Network.testnet()
11+
client = AsyncClient(network)
12+
creator = "inj1h3gepa4tszh66ee67he53jzmprsqc2l9npq3ty"
13+
limit = 2
14+
pagination = PaginationOption(limit=limit)
15+
response = await client.fetch_contracts_by_creator(creator_address=creator, pagination=pagination)
16+
print(response)
17+
18+
19+
if __name__ == "__main__":
20+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
metadata = await client.fetch_denom_authority_metadata(creator="inj1zvy8xrlhe7ex9scer868clfstdv7j6vz790kwa")
11+
print(metadata)
12+
13+
14+
if __name__ == "__main__":
15+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
denoms = await client.fetch_denoms_from_creator(creator="inj1maeyvxfamtn8lfyxpjca8kuvauuf2qeu6gtxm3")
11+
print(denoms)
12+
13+
14+
if __name__ == "__main__":
15+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import asyncio
2+
3+
from pyinjective.async_client import AsyncClient
4+
from pyinjective.core.network import Network
5+
6+
7+
async def main() -> None:
8+
network = Network.testnet()
9+
client = AsyncClient(network)
10+
state = await client.fetch_tokenfactory_module_state()
11+
print(state)
12+
13+
14+
if __name__ == "__main__":
15+
asyncio.get_event_loop().run_until_complete(main())
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import asyncio
2+
3+
from pyinjective.composer import Composer as ProtoMsgComposer
4+
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
5+
from pyinjective.core.network import Network
6+
from pyinjective.wallet import PrivateKey
7+
8+
9+
async def main() -> None:
10+
# select network: local, testnet, mainnet
11+
network = Network.testnet()
12+
composer = ProtoMsgComposer(network=network.string())
13+
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"
14+
15+
message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
16+
network=network,
17+
private_key=private_key_in_hexa,
18+
)
19+
20+
priv_key = PrivateKey.from_hex(private_key_in_hexa)
21+
pub_key = priv_key.to_public_key()
22+
address = pub_key.to_address()
23+
24+
message = composer.msg_create_denom(
25+
sender=address.to_acc_bech32(), subdenom="inj_test", name="Injective Test Token", symbol="INJTEST"
26+
)
27+
28+
# broadcast the transaction
29+
result = await message_broadcaster.broadcast([message])
30+
print("---Transaction Response---")
31+
print(result)
32+
33+
34+
if __name__ == "__main__":
35+
asyncio.get_event_loop().run_until_complete(main())

examples/chain_client/72_MsgMint.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import asyncio
2+
3+
from pyinjective.composer import Composer as ProtoMsgComposer
4+
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
5+
from pyinjective.core.network import Network
6+
from pyinjective.wallet import PrivateKey
7+
8+
9+
async def main() -> None:
10+
# select network: local, testnet, mainnet
11+
network = Network.testnet()
12+
composer = ProtoMsgComposer(network=network.string())
13+
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"
14+
15+
message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
16+
network=network,
17+
private_key=private_key_in_hexa,
18+
)
19+
20+
priv_key = PrivateKey.from_hex(private_key_in_hexa)
21+
pub_key = priv_key.to_public_key()
22+
address = pub_key.to_address()
23+
24+
amount = composer.Coin(amount=1_000_000_000, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test")
25+
26+
message = composer.msg_mint(
27+
sender=address.to_acc_bech32(),
28+
amount=amount,
29+
)
30+
31+
# broadcast the transaction
32+
result = await message_broadcaster.broadcast([message])
33+
print("---Transaction Response---")
34+
print(result)
35+
36+
37+
if __name__ == "__main__":
38+
asyncio.get_event_loop().run_until_complete(main())

examples/chain_client/73_MsgBurn.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import asyncio
2+
3+
from pyinjective.composer import Composer as ProtoMsgComposer
4+
from pyinjective.core.broadcaster import MsgBroadcasterWithPk
5+
from pyinjective.core.network import Network
6+
from pyinjective.wallet import PrivateKey
7+
8+
9+
async def main() -> None:
10+
# select network: local, testnet, mainnet
11+
network = Network.testnet()
12+
composer = ProtoMsgComposer(network=network.string())
13+
private_key_in_hexa = "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3"
14+
15+
message_broadcaster = MsgBroadcasterWithPk.new_using_simulation(
16+
network=network,
17+
private_key=private_key_in_hexa,
18+
)
19+
20+
priv_key = PrivateKey.from_hex(private_key_in_hexa)
21+
pub_key = priv_key.to_public_key()
22+
address = pub_key.to_address()
23+
24+
amount = composer.Coin(amount=100, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test")
25+
26+
message = composer.msg_burn(
27+
sender=address.to_acc_bech32(),
28+
amount=amount,
29+
)
30+
31+
# broadcast the transaction
32+
result = await message_broadcaster.broadcast([message])
33+
print("---Transaction Response---")
34+
print(result)
35+
36+
37+
if __name__ == "__main__":
38+
asyncio.get_event_loop().run_until_complete(main())

0 commit comments

Comments
 (0)