mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-28 15:45:50 +00:00
Merge branch 'master' into py-condition-escrow
This commit is contained in:
@@ -12,7 +12,7 @@ httpcore==0.13.6
|
||||
idna==3.2
|
||||
image==1.5.33
|
||||
pifacedigitalio==3.0.5
|
||||
Pillow==9.3.0
|
||||
Pillow==10.0.1
|
||||
pycparser==2.20
|
||||
pytz==2021.1
|
||||
qrcode==7.2
|
||||
|
||||
@@ -140,11 +140,23 @@
|
||||
estree-walker "^2.0.2"
|
||||
picomatch "^2.3.1"
|
||||
|
||||
"@types/brorand@^1.0.30":
|
||||
version "1.0.31"
|
||||
resolved "https://registry.yarnpkg.com/@types/brorand/-/brorand-1.0.31.tgz#120626ac4ce3510e6a8e20f3bd7ad7a2ec68cd35"
|
||||
integrity sha512-L3fWmIDV7i8dBeE2/Yk/pDThcLYu0M6/FJpa1YxubI0Q69Po8v1HyyIslu39Q9oTf5nsC85MMbFtidWabnO1PQ==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/estree@^1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz"
|
||||
integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
|
||||
|
||||
"@types/node@*":
|
||||
version "20.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.3.tgz#c4ae2bb1cfab2999ed441a95c122bbbe1567a66d"
|
||||
integrity sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==
|
||||
|
||||
"@types/node@10.12.18":
|
||||
version "10.12.18"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz"
|
||||
@@ -187,16 +199,16 @@ available-typed-arrays@^1.0.5:
|
||||
resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
|
||||
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
|
||||
|
||||
base-x@3.0.9, base-x@^3.0.2:
|
||||
base-x@^3.0.2, base-x@^3.0.9:
|
||||
version "3.0.9"
|
||||
resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz"
|
||||
integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
|
||||
dependencies:
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
base64-js@^1.0.2:
|
||||
base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
|
||||
big-integer@^1.6.48:
|
||||
@@ -329,13 +341,13 @@ buffer-xor@^1.0.3:
|
||||
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
|
||||
integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
|
||||
|
||||
buffer@5.6.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz"
|
||||
integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
|
||||
buffer@6.0.3:
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
|
||||
integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
|
||||
dependencies:
|
||||
base64-js "^1.0.2"
|
||||
ieee754 "^1.1.4"
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.2.1"
|
||||
|
||||
builtin-status-codes@^3.0.0:
|
||||
version "3.0.0"
|
||||
@@ -615,9 +627,9 @@ https-proxy-agent@^5.0.0:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
ieee754@^1.1.4:
|
||||
ieee754@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
|
||||
inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4:
|
||||
@@ -720,10 +732,10 @@ nan@^2.13.2:
|
||||
resolved "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz"
|
||||
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==
|
||||
|
||||
nanoid@^3.3.4:
|
||||
version "3.3.4"
|
||||
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
|
||||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
||||
nanoid@^3.3.6:
|
||||
version "3.3.6"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
||||
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
||||
|
||||
object-is@^1.0.1:
|
||||
version "1.1.5"
|
||||
@@ -776,11 +788,11 @@ picomatch@^2.3.1:
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
|
||||
postcss@^8.4.21:
|
||||
version "8.4.21"
|
||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz"
|
||||
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
|
||||
version "8.4.31"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
|
||||
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
|
||||
dependencies:
|
||||
nanoid "^3.3.4"
|
||||
nanoid "^3.3.6"
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
@@ -837,36 +849,36 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
|
||||
hash-base "^3.0.0"
|
||||
inherits "^2.0.1"
|
||||
|
||||
ripple-address-codec@^4.2.4:
|
||||
version "4.2.4"
|
||||
resolved "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.2.4.tgz"
|
||||
integrity sha512-roAOjKz94+FboTItey1XRh5qynwt4xvfBLvbbcx+FiR94Yw2x3LrKLF2GVCMCSAh5I6PkcpADg6AbYsUbGN3nA==
|
||||
ripple-address-codec@^4.3.1:
|
||||
version "4.3.1"
|
||||
resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.3.1.tgz#68fbaf646bb8567f70743af7f1ce4479f73efbf6"
|
||||
integrity sha512-Qa3+9wKVvpL/xYtT6+wANsn0A1QcC5CT6IMZbRJZ/1lGt7gmwIfsrCuz1X0+LCEO7zgb+3UT1I1dc0k/5dwKQQ==
|
||||
dependencies:
|
||||
base-x "3.0.9"
|
||||
base-x "^3.0.9"
|
||||
create-hash "^1.1.2"
|
||||
|
||||
ripple-binary-codec@^1.5.0-beta.3:
|
||||
version "1.5.0-beta.3"
|
||||
resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.5.0-beta.3.tgz#8f1514cf449a938a6285c469030a7bb1c0889fa3"
|
||||
integrity sha512-VqAmgcOCYzg02DI4ajzX3jwKZ/nQMgwUoyk2/jWtuJqfXfPdEafBAnj0yGqo/gJ28hXY7tQoVAPCFBfLs5wksQ==
|
||||
ripple-binary-codec@^1.10.0:
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.10.0.tgz#549f7fb3d3faf6b2d09fe7032bdcc4e6f8b5a511"
|
||||
integrity sha512-qWXxubgXBV3h5NTaaLiusZ1FhPqSy+bCYHHarfZ3bMmO2alRa1Ox61jvX1Zyozok8PcF3gs3bKwZci4RTlA07w==
|
||||
dependencies:
|
||||
assert "^2.0.0"
|
||||
big-integer "^1.6.48"
|
||||
buffer "5.6.0"
|
||||
buffer "6.0.3"
|
||||
create-hash "^1.2.0"
|
||||
decimal.js "^10.2.0"
|
||||
ripple-address-codec "^4.2.4"
|
||||
ripple-address-codec "^4.3.1"
|
||||
|
||||
ripple-keypairs@^1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/ripple-keypairs/-/ripple-keypairs-1.1.4.tgz"
|
||||
integrity sha512-PMMjTOxZmCSBOvHPj6bA+V/HGx7oFgDtGGI8VcZYuaFO2H87UX0X0jhfHy+LA2Xy31WYlD7GaDIDDt2QO+AMtw==
|
||||
ripple-keypairs@^1.1.5, ripple-keypairs@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.3.1.tgz#7fa531df36b138134afb53555a87d7f5eb465b2e"
|
||||
integrity sha512-dmPlraWKJciFJxHcoubDahGnoIalG5e/BtV6HNDUs7wLXmtnLMHt6w4ed9R8MTL2zNrVPiIdI/HCtMMo0Tm7JQ==
|
||||
dependencies:
|
||||
bn.js "^5.1.1"
|
||||
brorand "^1.0.5"
|
||||
elliptic "^6.5.4"
|
||||
hash.js "^1.0.3"
|
||||
ripple-address-codec "^4.2.4"
|
||||
ripple-address-codec "^4.3.1"
|
||||
|
||||
rollup-plugin-polyfill-node@^0.12.0:
|
||||
version "0.12.0"
|
||||
@@ -1003,20 +1015,30 @@ ws@^8.2.2:
|
||||
resolved "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz"
|
||||
integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==
|
||||
|
||||
xrpl@^2.7.0-beta.2:
|
||||
version "2.7.0-beta.2"
|
||||
resolved "https://registry.yarnpkg.com/xrpl/-/xrpl-2.7.0-beta.2.tgz#b0f56dd600d937aab98a25d6e04ee5ba9b7aae88"
|
||||
integrity sha512-ZhTr3LzIEOus0GakmGonK/JsyPDtU75QlUBDzPoX52qLIrZIgBVaNw+5K19p+Xn//EeGQqvHN5UbTCg5Obd3bw==
|
||||
xrpl-secret-numbers@^0.3.3:
|
||||
version "0.3.4"
|
||||
resolved "https://registry.yarnpkg.com/xrpl-secret-numbers/-/xrpl-secret-numbers-0.3.4.tgz#947d6c803b8ff0286f19256e0fc54ea1bee96ae2"
|
||||
integrity sha512-B3m0OLRsmNLQpN/BUR15+LC4yejM/pdneoWgijfBYbgjVVnpyCF5+Ur7zbAs4nCAlBUZYXnxp+o/rSNZkke9jQ==
|
||||
dependencies:
|
||||
"@types/brorand" "^1.0.30"
|
||||
brorand "^1.1.0"
|
||||
ripple-keypairs "^1.1.5"
|
||||
|
||||
xrpl@^2.11.0:
|
||||
version "2.12.0"
|
||||
resolved "https://registry.yarnpkg.com/xrpl/-/xrpl-2.12.0.tgz#6298ca0cbc28151a491a650552ef30166fc76c09"
|
||||
integrity sha512-K50m1F2FDVwx5eUgHQcwl4xi7bA2eWxtSrmJ6CRomLsWjFSkortOLIzDfVLMtrylB2au1ky91zoeaDDrDxVYLQ==
|
||||
dependencies:
|
||||
bignumber.js "^9.0.0"
|
||||
bip32 "^2.0.6"
|
||||
bip39 "^3.0.4"
|
||||
https-proxy-agent "^5.0.0"
|
||||
lodash "^4.17.4"
|
||||
ripple-address-codec "^4.2.4"
|
||||
ripple-binary-codec "^1.5.0-beta.3"
|
||||
ripple-keypairs "^1.1.4"
|
||||
ripple-address-codec "^4.3.1"
|
||||
ripple-binary-codec "^1.10.0"
|
||||
ripple-keypairs "^1.3.1"
|
||||
ws "^8.2.2"
|
||||
xrpl-secret-numbers "^0.3.3"
|
||||
|
||||
xtend@^4.0.2:
|
||||
version "4.0.2"
|
||||
|
||||
@@ -23,6 +23,6 @@
|
||||
"xrpl": "^2.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "22.3.24"
|
||||
"electron": "22.3.25"
|
||||
}
|
||||
}
|
||||
|
||||
127
content/_code-samples/quickstart/py/lesson7-batch-minting.py
Normal file
127
content/_code-samples/quickstart/py/lesson7-batch-minting.py
Normal file
@@ -0,0 +1,127 @@
|
||||
import tkinter as tk
|
||||
import xrpl
|
||||
import json
|
||||
|
||||
from mod1 import get_account, get_account_info
|
||||
from mod7 import batch_mint, get_batch
|
||||
|
||||
#############################################
|
||||
## Handlers #################################
|
||||
#############################################
|
||||
|
||||
# Module 7 Handlers
|
||||
|
||||
def standby_batch_mint():
|
||||
results = batch_mint(
|
||||
ent_standby_seed.get(),
|
||||
ent_standby_uri.get(),
|
||||
ent_standby_flags.get(),
|
||||
ent_standby_transfer_fee.get(),
|
||||
ent_standby_taxon.get(),
|
||||
ent_standby_nft_count.get()
|
||||
)
|
||||
text_standby_results.delete("1.0", tk.END)
|
||||
text_standby_results.insert("1.0", json.dumps(results, indent=4))
|
||||
|
||||
def standby_get_batch_nfts():
|
||||
results = get_batch(
|
||||
ent_standby_seed.get(),
|
||||
ent_standby_account.get()
|
||||
)
|
||||
text_standby_results.delete("1.0", tk.END)
|
||||
text_standby_results.insert("1.0", json.dumps(results, indent=4))
|
||||
|
||||
# Module 1 Handlers
|
||||
def get_standby_account():
|
||||
new_wallet = get_account(ent_standby_seed.get())
|
||||
ent_standby_account.delete(0, tk.END)
|
||||
ent_standby_seed.delete(0, tk.END)
|
||||
ent_standby_account.insert(0, new_wallet.classic_address)
|
||||
ent_standby_seed.insert(0, new_wallet.seed)
|
||||
|
||||
|
||||
def get_standby_account_info():
|
||||
accountInfo = get_account_info(ent_standby_account.get())
|
||||
ent_standby_balance.delete(0, tk.END)
|
||||
ent_standby_balance.insert(0,accountInfo['Balance'])
|
||||
text_standby_results.delete("1.0", tk.END)
|
||||
text_standby_results.insert("1.0",json.dumps(accountInfo, indent=4))
|
||||
|
||||
|
||||
# Create a new window with the title "Quickstart - Batch Minting"
|
||||
window = tk.Tk()
|
||||
window.title("Quickstart - Batch Minting")
|
||||
|
||||
# Form frame
|
||||
frm_form = tk.Frame(relief=tk.SUNKEN, borderwidth=3)
|
||||
frm_form.pack()
|
||||
|
||||
# Create the Label and Entry widgets for "Standby Account"
|
||||
lbl_standy_seed = tk.Label(master=frm_form, text="Standby Seed")
|
||||
ent_standby_seed = tk.Entry(master=frm_form, width=50)
|
||||
lbl_standby_account = tk.Label(master=frm_form, text="Standby Account")
|
||||
ent_standby_account = tk.Entry(master=frm_form, width=50)
|
||||
lbl_standby_balance = tk.Label(master=frm_form, text="XRP Balance")
|
||||
ent_standby_balance = tk.Entry(master=frm_form, width=50)
|
||||
lbl_standby_uri = tk.Label(master=frm_form, text="NFT URI")
|
||||
ent_standby_uri = tk.Entry(master=frm_form, width=50)
|
||||
lbl_standby_flags = tk.Label(master=frm_form, text="Flags")
|
||||
ent_standby_flags = tk.Entry(master=frm_form, width=50)
|
||||
lbl_standby_transfer_fee = tk.Label(master=frm_form, text="Transfer Fee")
|
||||
ent_standby_transfer_fee = tk.Entry(master=frm_form, width="50")
|
||||
lbl_standby_taxon = tk.Label(master=frm_form, text="Taxon")
|
||||
ent_standby_taxon = tk.Entry(master=frm_form, width="50")
|
||||
lbl_standby_nft_id = tk.Label(master=frm_form, text="NFT ID")
|
||||
ent_standby_nft_id = tk.Entry(master=frm_form, width="50")
|
||||
lbl_standby_nft_offer_index = tk.Label(master=frm_form, text="NFT Offer Index")
|
||||
ent_standby_nft_offer_index = tk.Entry(master=frm_form, width="50")
|
||||
lbl_standby_nft_count = tk.Label(master=frm_form, text="NFT Count")
|
||||
ent_standby_nft_count = tk.Entry(master=frm_form, width="50")
|
||||
lbl_standby_results = tk.Label(master=frm_form,text="Results")
|
||||
text_standby_results = tk.Text(master=frm_form, height = 20, width = 65)
|
||||
|
||||
|
||||
|
||||
# Place field in a grid.
|
||||
lbl_standy_seed.grid(row=0, column=0, sticky="w")
|
||||
ent_standby_seed.grid(row=0, column=1)
|
||||
lbl_standby_account.grid(row=2, column=0, sticky="e")
|
||||
ent_standby_account.grid(row=2, column=1)
|
||||
lbl_standby_balance.grid(row=5, column=0, sticky="e")
|
||||
ent_standby_balance.grid(row=5, column=1)
|
||||
lbl_standby_uri.grid(row=8, column=0, sticky="e")
|
||||
ent_standby_uri.grid(row=8, column=1, sticky="w")
|
||||
lbl_standby_flags.grid(row=9, column=0, sticky="e")
|
||||
ent_standby_flags.grid(row=9, column=1, sticky="w")
|
||||
lbl_standby_transfer_fee.grid(row=10, column=0, sticky="e")
|
||||
ent_standby_transfer_fee.grid(row=10, column=1, sticky="w")
|
||||
lbl_standby_taxon.grid(row=11, column=0, sticky="e")
|
||||
ent_standby_taxon.grid(row=11, column=1, sticky="w")
|
||||
lbl_standby_nft_count.grid(row=12, column=0, sticky="e")
|
||||
ent_standby_nft_count.grid(row=12, column=1, sticky="w")
|
||||
lbl_standby_results.grid(row=13, column=1, sticky="ne")
|
||||
text_standby_results.grid(row=13, column=2, sticky="nw")
|
||||
|
||||
#############################################
|
||||
## Buttons ##################################
|
||||
#############################################
|
||||
|
||||
# Create the Standby Account Buttons
|
||||
btn_get_standby_account = tk.Button(master=frm_form, text="Get Standby Account",
|
||||
command = get_standby_account)
|
||||
btn_get_standby_account.grid(row=0, column=2, sticky = "nsew")
|
||||
btn_get_standby_account_info = tk.Button(master=frm_form,
|
||||
text="Get Standby Account Info",
|
||||
command = get_standby_account_info)
|
||||
btn_get_standby_account_info.grid(row=1, column=2, sticky = "nsew")
|
||||
btn_standby_batch_mint = tk.Button(master=frm_form,
|
||||
text="Batch Mint",
|
||||
command = standby_batch_mint)
|
||||
btn_standby_batch_mint.grid(row=5, column=2, sticky = "nsew")
|
||||
btn_standby_get_batch_nfts = tk.Button(master=frm_form,
|
||||
text="Get Batch NFTs",
|
||||
command = standby_get_batch_nfts)
|
||||
btn_standby_get_batch_nfts.grid(row=8, column=2, sticky = "nsew")
|
||||
|
||||
# Start the application
|
||||
window.mainloop()
|
||||
Reference in New Issue
Block a user