-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate_multiple_offers.ps1
56 lines (48 loc) · 1.5 KB
/
create_multiple_offers.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
param (
[Parameter(mandatory)]
$Fingerprint,
[Parameter(mandatory)]
$OfferWalletId,
[Parameter(mandatory)]
$OfferAmount,
[Parameter(mandatory)]
$RequestWalletId,
[Parameter(mandatory)]
$RequestAmount,
[Parameter(mandatory)]
$OfferFilePrefix, # 1TDBX_x_1XCH
[Parameter(mandatory)]
$OfferFilePath, # /mnt/e/offers/tdbx
[Parameter(mandatory)]
$Num,
# fee 50_000_000 mojos is 0.00005 XCH
$Fee = 50000000
)
. ../chia_functions.ps1
Write-Host "Create Offers: $Num of $($OfferWalletId):$($OfferAmount) for $($RequestWalletId):$($RequestAmount)"
$sw = new-object system.diagnostics.stopwatch
$sw.Start()
$offer = @{}
$offer.Add("$($OfferWalletId)", -1 * $OfferAmount)
$offer.Add("$($RequestWalletId)", $RequestAmount)
$offerRequestPayload = [PSCustomObject]@{
offer = $offer
fee = $Fee
}
| ConvertTo-Json
| Edit-ChiaRpcJson
Wait-SyncedWallet $Fingerprint
for($i=0;$i -lt $Num;$i++)
{
# Wait for Offer and Fee balance
Wait-EnoughSpendable -WalletId $OfferWalletId -Amount $OfferAmount
Wait-EnoughSpendable -WalletId 1 -Amount $Fee
# create offer
$offerFileName = "$OfferFilePrefix-$($i + 1).offer"
$offerFullPath = "$OfferFilePath/$offerFileName"
Write-Host "create: $offerFullPath"
$offer = (chia rpc wallet create_offer_for_ids $offerRequestPayload | ConvertFrom-Json).offer
$offer | Out-File -FilePath $offerFullPath
}
$sw.Stop()
Write-Host "Create Offers: $($sw.Elapsed.TotalMinutes) minutes"