web3-wizzard-lib 1.11.12__py3-none-any.whl → 1.12.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- web3_wizzard_lib/core/modules/nft/linea_wheel.py +155 -0
- web3_wizzard_lib/core/modules/nft_minter.py +1 -1
- {web3_wizzard_lib-1.11.12.dist-info → web3_wizzard_lib-1.12.1.dist-info}/METADATA +2 -1
- {web3_wizzard_lib-1.11.12.dist-info → web3_wizzard_lib-1.12.1.dist-info}/RECORD +6 -5
- {web3_wizzard_lib-1.11.12.dist-info → web3_wizzard_lib-1.12.1.dist-info}/WHEEL +1 -1
- {web3_wizzard_lib-1.11.12.dist-info → web3_wizzard_lib-1.12.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,155 @@
|
|
1
|
+
import requests
|
2
|
+
from eth_account.messages import encode_defunct
|
3
|
+
|
4
|
+
from sybil_engine.contract.send import Send
|
5
|
+
from sybil_engine.domain.balance.balance import NativeBalance
|
6
|
+
from sybil_engine.utils.web3_utils import init_web3
|
7
|
+
|
8
|
+
from web3_wizzard_lib.core.modules.nft.nft_submodule import NftSubmodule
|
9
|
+
|
10
|
+
|
11
|
+
class LineaWheel(NftSubmodule):
|
12
|
+
abi = '[{"inputs":[{"internalType":"address","name":"_trustedForwarderAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"AddressZero","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[],"name":"ERC20PrizeWrongParam","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"InvalidLotAmount","type":"error"},{"inputs":[{"internalType":"address","name":"prizeAddress","type":"address"}],"name":"InvalidPrize","type":"error"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"InvalidRequestId","type":"error"},{"inputs":[{"internalType":"uint256","name":"totalProbabilities","type":"uint256"}],"name":"MaxProbabilityExceeded","type":"error"},{"inputs":[{"internalType":"uint256","name":"lotAmount","type":"uint256"},{"internalType":"uint256","name":"erc721PrizeAmount","type":"uint256"}],"name":"MismatchERC721PrizeAmount","type":"error"},{"inputs":[],"name":"NativeTokenTransferFailed","type":"error"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"NonceAlreadyUsed","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"NotAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"NotController","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"address","name":"prizeAddress","type":"address"},{"internalType":"uint256","name":"prizeAmount","type":"uint256"},{"internalType":"uint256","name":"contractBalance","type":"uint256"}],"name":"PrizeAmountExceedsBalance","type":"error"},{"inputs":[{"internalType":"uint32","name":"prizeId","type":"uint32"},{"internalType":"address","name":"user","type":"address"}],"name":"PrizeNotWonByUser","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"},{"internalType":"uint256","name":"currentTimestamp","type":"uint256"}],"name":"SignatureExpired","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"name":"SignerNotAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"prizeAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"TokenNotOwnedByContract","type":"error"},{"inputs":[{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"name":"VrfRequestHasNotExpired","type":"error"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"NoPrizeWon","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"requestId","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"nonce","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"expirationTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint64","name":"boost","type":"uint64"}],"name":"Participation","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"ParticipationCancelled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint32","name":"prizeId","type":"uint32"}],"name":"PrizeClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint32","name":"prizeId","type":"uint32"}],"name":"PrizeWon","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32[]","name":"newPrizeIds","type":"uint32[]"},{"components":[{"internalType":"uint32","name":"lotAmount","type":"uint32"},{"internalType":"uint64","name":"probability","type":"uint64"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256[]","name":"availableERC721Ids","type":"uint256[]"}],"indexed":false,"internalType":"struct ISpinGame.Prize[]","name":"prizes","type":"tuple[]"}],"name":"PrizesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"round","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"RequestedRandomness","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"signer","type":"address"}],"name":"SignerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"vrfOperator","type":"address"}],"name":"vrfOperatorUpdated","type":"event"},{"inputs":[],"name":"BASE_POINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTROLLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"adminWithdrawERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"name":"adminWithdrawERC721","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"adminWithdrawNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_requestId","type":"uint256"}],"name":"cancelParticipation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_prizeId","type":"uint32"}],"name":"claimPrize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"randomness","type":"uint256"},{"internalType":"bytes","name":"dataWithRound","type":"bytes"}],"name":"fulfillRandomness","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_prizeId","type":"uint32"}],"name":"getPrize","outputs":[{"components":[{"internalType":"uint32","name":"lotAmount","type":"uint32"},{"internalType":"uint64","name":"probability","type":"uint64"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256[]","name":"availableERC721Ids","type":"uint256[]"}],"internalType":"struct ISpinGame.Prize","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrizesAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint32[]","name":"_prizeIds","type":"uint32[]"}],"name":"getUserPrizesWon","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint32","name":"_prizeId","type":"uint32"}],"name":"hasWonPrize","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_signer","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"address","name":"_controller","type":"address"},{"internalType":"address","name":"_vrfOperator","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextPrizeId","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"name":"nonces","outputs":[{"internalType":"bool","name":"used","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"_nonce","type":"uint64"},{"internalType":"uint256","name":"_expirationTimestamp","type":"uint256"},{"internalType":"uint64","name":"_boost","type":"uint64"},{"components":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"}],"internalType":"struct ISpinGame.Signature","name":"_signature","type":"tuple"}],"name":"participate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"prizeIds","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"requestIdTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"requestId","type":"uint256"}],"name":"requestIdToUser","outputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requestPending","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"requestedHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"lotAmount","type":"uint32"},{"internalType":"uint64","name":"probability","type":"uint64"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256[]","name":"availableERC721Ids","type":"uint256[]"}],"internalType":"struct ISpinGame.Prize[]","name":"_prizes","type":"tuple[]"}],"name":"setPrizes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_signer","type":"address"}],"name":"setSigner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_vrfOperator","type":"address"}],"name":"setVrfOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"signer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalProbabilities","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userToBoost","outputs":[{"internalType":"uint64","name":"boost","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vrfOperator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]'
|
13
|
+
module_name = 'LINEA_WHEEL'
|
14
|
+
nft_address = '0xDb3a3929269281F157A58D91289185F21E30A1e0'
|
15
|
+
|
16
|
+
def execute(self, account, chain='LINEA'):
|
17
|
+
web3 = init_web3(
|
18
|
+
{
|
19
|
+
"rpc": "https://rpc.linea.build",
|
20
|
+
"poa": "true",
|
21
|
+
"chain_id": 59144
|
22
|
+
},
|
23
|
+
account.proxy
|
24
|
+
)
|
25
|
+
jwt_token = get_jwt_token(account, web3)
|
26
|
+
data = create_data(jwt_token, web3)
|
27
|
+
|
28
|
+
print(f"DATA {data}")
|
29
|
+
|
30
|
+
Send(
|
31
|
+
None,
|
32
|
+
web3
|
33
|
+
).send_to_wallet(
|
34
|
+
account,
|
35
|
+
self.nft_address,
|
36
|
+
NativeBalance(0, chain, "ETH"),
|
37
|
+
data
|
38
|
+
)
|
39
|
+
|
40
|
+
def log(self):
|
41
|
+
return "LINEA WHEEL"
|
42
|
+
|
43
|
+
|
44
|
+
def get_jwt_token(account, web3):
|
45
|
+
from datetime import datetime, timezone
|
46
|
+
|
47
|
+
nonce = requests.get("https://app.dynamicauth.com/api/v0/sdk/ae98b9b4-daaf-4bb3-b5e0-3f07175906ed/nonce")
|
48
|
+
print(f"NONCE {nonce.text}")
|
49
|
+
nonce_text = nonce.json()['nonce']
|
50
|
+
|
51
|
+
# Use current timestamp instead of hardcoded one
|
52
|
+
current_time = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
|
53
|
+
message_to_sign = f"""linea.build wants you to sign in with your Ethereum account:
|
54
|
+
{account.address}
|
55
|
+
|
56
|
+
Welcome to Linea Hub. Signing is the only way we can truly know that you are the owner of the wallet you are connecting. Signing is a safe, gas-less transaction that does not in any way give Linea Hub permission to perform any transactions with your wallet.
|
57
|
+
|
58
|
+
URI: https://linea.build/hub/rewards
|
59
|
+
Version: 1
|
60
|
+
Chain ID: 59144
|
61
|
+
Nonce: {nonce_text}
|
62
|
+
Issued At: {current_time}
|
63
|
+
Request ID: ae98b9b4-daaf-4bb3-b5e0-3f07175906ed"""
|
64
|
+
print(f"message to sign: {message_to_sign}")
|
65
|
+
encoded_message_to_sign = encode_defunct(text=message_to_sign)
|
66
|
+
signed_message = web3.eth.account.sign_message(encoded_message_to_sign, private_key=account.key)
|
67
|
+
|
68
|
+
print(f"HASH {signed_message.signature.hex()}")
|
69
|
+
|
70
|
+
# Try without the 0x prefix for the signature
|
71
|
+
signature_hex = signed_message.signature.hex()
|
72
|
+
if signature_hex.startswith('0x'):
|
73
|
+
signature_hex = signature_hex[2:]
|
74
|
+
params = {
|
75
|
+
"signedMessage": f"0x{signature_hex}",
|
76
|
+
"messageToSign": message_to_sign,
|
77
|
+
"publicWalletAddress": account.address,
|
78
|
+
"chain": "EVM",
|
79
|
+
"walletName": "metamask",
|
80
|
+
"walletProvider": "browserExtension",
|
81
|
+
"network": "59144",
|
82
|
+
"additionalWalletAddresses": []
|
83
|
+
# Removed sessionPublicKey - it's likely causing the verification failure
|
84
|
+
}
|
85
|
+
|
86
|
+
result = requests.post("https://app.dynamicauth.com/api/v0/sdk/ae98b9b4-daaf-4bb3-b5e0-3f07175906ed/verify",
|
87
|
+
json=params)
|
88
|
+
|
89
|
+
print(result)
|
90
|
+
print(result.text)
|
91
|
+
|
92
|
+
return result.json()["jwt"]
|
93
|
+
|
94
|
+
|
95
|
+
def create_data(jwt_token, web3):
|
96
|
+
import requests
|
97
|
+
|
98
|
+
url = "https://hub-api.linea.build/spins"
|
99
|
+
|
100
|
+
headers = {
|
101
|
+
"Accept": "*/*",
|
102
|
+
"Accept-Language": "en-US,en;q=0.5",
|
103
|
+
"Accept-Encoding": "gzip, deflate, br, zstd",
|
104
|
+
"Referer": "https://linea.build/",
|
105
|
+
"Content-Type": "application/json",
|
106
|
+
"Authorization": f"Bearer {jwt_token}",
|
107
|
+
"Origin": "https://linea.build",
|
108
|
+
"Connection": "keep-alive",
|
109
|
+
"Sec-Fetch-Dest": "empty",
|
110
|
+
"Sec-Fetch-Mode": "cors",
|
111
|
+
"Sec-Fetch-Site": "same-site",
|
112
|
+
"Priority": "u=0",
|
113
|
+
"Content-Length": "0",
|
114
|
+
"TE": "trailers"
|
115
|
+
}
|
116
|
+
|
117
|
+
response = requests.post(url, headers=headers)
|
118
|
+
|
119
|
+
print("Status code:", response.status_code)
|
120
|
+
print("Response body:", response.content)
|
121
|
+
|
122
|
+
if response.status_code != 200:
|
123
|
+
raise Exception(response.json()['message'])
|
124
|
+
|
125
|
+
# Get the JSON response data
|
126
|
+
response_data = response.json()
|
127
|
+
print(f"Response JSON: {response_data}")
|
128
|
+
|
129
|
+
# Load LineaWheel contract ABI and create contract instance
|
130
|
+
abi = LineaWheel.abi
|
131
|
+
contract_address = '0xDb3a3929269281F157A58D91289185F21E30A1e0' # LineaWheel contract address
|
132
|
+
contract = web3.eth.contract(address=contract_address, abi=abi)
|
133
|
+
|
134
|
+
# Convert response data to contract function parameters
|
135
|
+
nonce = int(response_data['nonce'])
|
136
|
+
expiration_timestamp = int(response_data['expirationTimestamp'])
|
137
|
+
boost = int(response_data['boost'])
|
138
|
+
|
139
|
+
# Convert signature array to struct format
|
140
|
+
signature_array = response_data['signature']
|
141
|
+
signature_struct = {
|
142
|
+
'r': signature_array[0], # bytes32
|
143
|
+
's': signature_array[1], # bytes32
|
144
|
+
'v': int(signature_array[2]) # uint8
|
145
|
+
}
|
146
|
+
|
147
|
+
# Encode the participate function call
|
148
|
+
encoded_data = contract.encode_abi("participate", args=(
|
149
|
+
nonce,
|
150
|
+
expiration_timestamp,
|
151
|
+
boost,
|
152
|
+
signature_struct
|
153
|
+
))
|
154
|
+
|
155
|
+
return encoded_data
|
@@ -63,7 +63,7 @@ class NFTMinter(RepeatableModule):
|
|
63
63
|
self.storage.put("minted_nfts", minted_nfts)
|
64
64
|
|
65
65
|
def get_nfts(self):
|
66
|
-
import_all_modules_in_directory("
|
66
|
+
import_all_modules_in_directory("web3_wizzard_lib.core.modules.nft")
|
67
67
|
return get_all_subclasses(SubModule) + get_all_subclasses(NftSubmodule)
|
68
68
|
|
69
69
|
def get_nft_address(self, chain, inited_module):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: web3-wizzard-lib
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.12.1
|
4
4
|
Summary: Engine for web3 smart contracts automatization.
|
5
5
|
Author-email: Indeoo <indeooars@gmail.com>
|
6
6
|
License: MIT
|
@@ -8,3 +8,4 @@ Project-URL: Homepage, https://github.com/Indeoo/web3-wizzard-lib/
|
|
8
8
|
Requires-Python: >=3.7
|
9
9
|
Description-Content-Type: text/markdown
|
10
10
|
Requires-Dist: sybil-engine==10.5.10
|
11
|
+
Requires-Dist: brotli==1.1.0
|
@@ -114,7 +114,7 @@ web3_wizzard_lib/core/modules/linea_poh_lxp.py,sha256=kVVtd5gkcEdyYc3YSRlECgPmDs
|
|
114
114
|
web3_wizzard_lib/core/modules/liquidity_pool.py,sha256=vu0vBoXomvAJFa10n9woo66v62hQbEO726M4lkiLWNE,2181
|
115
115
|
web3_wizzard_lib/core/modules/merkly_refuel.py,sha256=whQD6CplGt-hQxFN7lg40F6SmFU5niOO529lKMj0dyA,3488
|
116
116
|
web3_wizzard_lib/core/modules/new_rage_withdraw.py,sha256=e4VSaQYgBBi6WZbU6HJr_q4LTzyBURMnXANVJqRagdY,1450
|
117
|
-
web3_wizzard_lib/core/modules/nft_minter.py,sha256=
|
117
|
+
web3_wizzard_lib/core/modules/nft_minter.py,sha256=FrUidXlnQZBO6MeITJaT4ln2uFhnvf3gHwMgkWIAmUY,4167
|
118
118
|
web3_wizzard_lib/core/modules/orbiter.py,sha256=Y_1xX7QkRdju9wXo-RKgeIoNwPJYIqrhxPK6uC5TaHU,1400
|
119
119
|
web3_wizzard_lib/core/modules/orbiter_checker.py,sha256=Zo3r2S986sz5srcKTz2g6vpwv9i3YVOJSGkQEvE7ul8,666
|
120
120
|
web3_wizzard_lib/core/modules/rage.py,sha256=uIJiUGbXxGkKuusaLH3ndsYIzm3ze3KcLw7nZsMkBoU,1979
|
@@ -196,6 +196,7 @@ web3_wizzard_lib/core/modules/nft/linea_culture_4_6_laurent.py,sha256=aYSmG39cwh
|
|
196
196
|
web3_wizzard_lib/core/modules/nft/linea_culture_day2.py,sha256=Vb3l7kLWfHA5iqojeoGBbdfw8VnfN8NvkICkYqdQ4rU,709
|
197
197
|
web3_wizzard_lib/core/modules/nft/linea_culture_day3.py,sha256=Nlqey71z2XZoKWJfpX5lf2aIzvhq5Oa-MqzuzT0dvm0,707
|
198
198
|
web3_wizzard_lib/core/modules/nft/linea_ens_names.py,sha256=-p4uMAd2ZChqQGDWV6HwdA-wSEOoPkAyuFoVgHmipTE,3978
|
199
|
+
web3_wizzard_lib/core/modules/nft/linea_wheel.py,sha256=smqYbU6e0QY_JxioxRnruXgqDYrhLUer0IkrX6OhDZg,20601
|
199
200
|
web3_wizzard_lib/core/modules/nft/lucky_cat.py,sha256=E2NDk0ptNRUeue1ZTdlHKTEcm9BSCQ_3mfamRmrJvW4,828
|
200
201
|
web3_wizzard_lib/core/modules/nft/merkly_minter_module.py,sha256=g41FIisQX6UJ94Egb95jGA5Mil2lA7sAm4fGgiSOQ-I,753
|
201
202
|
web3_wizzard_lib/core/modules/nft/micro3.py,sha256=m6yqqIDz6wGe8W9_I7HOcfsgPVBrkQXsZ83B__8aWw8,748
|
@@ -371,7 +372,7 @@ web3_wizzard_lib/resources/main/pairs.json,sha256=uvIFvY46Ctiw8hjGd9e-1WE0qLf_du
|
|
371
372
|
web3_wizzard_lib/resources/main/tokens.json,sha256=AoZz_I6AVoZuecNdyX5L-SnGm6TREuPrsYd2i9PJr7U,5707
|
372
373
|
web3_wizzard_lib/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
373
374
|
web3_wizzard_lib/utils/debank_utils.py,sha256=CE2SUN9RpFK_j9KjJgxf7a__VRJ75tLIw9tLrVNrn3c,484
|
374
|
-
web3_wizzard_lib-1.
|
375
|
-
web3_wizzard_lib-1.
|
376
|
-
web3_wizzard_lib-1.
|
377
|
-
web3_wizzard_lib-1.
|
375
|
+
web3_wizzard_lib-1.12.1.dist-info/METADATA,sha256=vmHSNkm9LYlayP85V6cMUDRjwnQa7PKtmDzIZfSAlvU,370
|
376
|
+
web3_wizzard_lib-1.12.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
377
|
+
web3_wizzard_lib-1.12.1.dist-info/top_level.txt,sha256=31sEPHxuJ1p5fpc75vHQJ8eJdSs80aCZeeT3L8YAHNg,17
|
378
|
+
web3_wizzard_lib-1.12.1.dist-info/RECORD,,
|
File without changes
|