mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2024-09-20 16:08:51 +03:00
Fix offer tests
This commit is contained in:
parent
febc12aef8
commit
bc3379608f
@ -885,9 +885,9 @@ class NFTWallet:
|
||||
offered_coin: Coin = offered_coin_info.coin
|
||||
requested_amount = offer_dict[requested_asset_id]
|
||||
if requested_asset_id is None:
|
||||
trade_prices = Program.to([[uint64(requested_amount)]])
|
||||
trade_prices = Program.to([[uint64(requested_amount), OFFER_MOD.get_tree_hash()]])
|
||||
else:
|
||||
trade_prices = Program.to([[uint64(requested_amount), requested_asset_id]])
|
||||
trade_prices = Program.to([[uint64(requested_amount), construct_puzzle(driver_dict[requested_asset_id], OFFER_MOD).get_tree_hash()]])
|
||||
notarized_payments: Dict[Optional[bytes32], List[NotarizedPayment]] = Offer.notarize_payments(
|
||||
{requested_asset_id: [Payment(p2_ph, uint64(requested_amount), [p2_ph])]}, [offered_coin]
|
||||
)
|
||||
@ -979,6 +979,10 @@ class NFTWallet:
|
||||
# make the royalty payment solution
|
||||
# ((nft_launcher_id . ((ROYALTY_ADDRESS, royalty_amount, (ROYALTY_ADDRESS)))))
|
||||
royalty_sol = Program.to([[requested_asset_id, [royalty_address, royalty_amount, [royalty_address]]]])
|
||||
if offered_asset_id is None:
|
||||
offer_puzzle: Program = OFFER_MOD
|
||||
else:
|
||||
offer_puzzle = construct_puzzle(driver_dict[offered_asset_id], OFFER_MOD)
|
||||
royalty_spend = SpendBundle([CoinSpend(royalty_coin, OFFER_MOD, royalty_sol)], G2Element())
|
||||
|
||||
total_spend_bundle = SpendBundle.aggregate([txn_spend_bundle, royalty_spend])
|
||||
|
@ -8,8 +8,6 @@ from chia.wallet.puzzle_drivers import PuzzleInfo, Solver
|
||||
from chia.wallet.puzzles.load_clvm import load_clvm
|
||||
from chia.wallet.puzzles.singleton_top_layer_v1_1 import SINGLETON_LAUNCHER_HASH, SINGLETON_MOD_HASH
|
||||
|
||||
CAT_MOD = load_clvm("cat.clvm")
|
||||
OFFER_MOD = load_clvm("settlement_payments.clvm")
|
||||
TRANSFER_PROGRAM_MOD = load_clvm("nft_ownership_transfer_program_one_way_claim_with_royalties.clvm")
|
||||
|
||||
|
||||
@ -26,8 +24,6 @@ def puzzle_for_transfer_program(launcher_id: bytes32, royalty_puzzle_hash: bytes
|
||||
singleton_struct,
|
||||
royalty_puzzle_hash,
|
||||
percentage,
|
||||
OFFER_MOD.get_tree_hash(),
|
||||
CAT_MOD.get_tree_hash(),
|
||||
)
|
||||
|
||||
|
||||
@ -53,7 +49,7 @@ class TransferProgramPuzzle:
|
||||
def match(self, puzzle: Program) -> Optional[PuzzleInfo]:
|
||||
matched, curried_args = match_transfer_program_puzzle(puzzle)
|
||||
if matched:
|
||||
singleton_struct, royalty_puzzle_hash, percentage, _, _ = curried_args
|
||||
singleton_struct, royalty_puzzle_hash, percentage = curried_args
|
||||
constructor_dict = {
|
||||
"type": "royalty transfer program",
|
||||
"launcher_id": "0x" + singleton_struct.rest().first().as_python().hex(),
|
||||
|
@ -120,9 +120,9 @@ def make_a_new_solution() -> Tuple[Program, Program]:
|
||||
[-10, new_did, trade_prices_list, new_did_inner_hash],
|
||||
]
|
||||
solution = Program.to(
|
||||
[
|
||||
[[], [], [
|
||||
[solution_for_conditions(condition_list)],
|
||||
]
|
||||
]]
|
||||
)
|
||||
return p2_puzzle, solution
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user