Skip to content

Commit 79e1612

Browse files
authored
Merge pull request #3091 from XRPLF/refactor_payment_modular_tuts
Revise payment tutorials, add/remove screenshots
2 parents e6add92 + ec1f33d commit 79e1612

File tree

112 files changed

+6342
-4899
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+6342
-4899
lines changed
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
// ******************************************************
2+
// ************* Get the Preferred Network **************
3+
// ******************************************************
4+
5+
function getNet() {
6+
let net
7+
if (document.getElementById("tn").checked) net = "wss://s.altnet.rippletest.net:51233/"
8+
if (document.getElementById("dn").checked) net = "wss://s.devnet.rippletest.net:51233/"
9+
return net
10+
} // End of getNet()
11+
12+
// *******************************************************
13+
// ************* Get Account *****************************
14+
// *******************************************************
15+
16+
async function getAccount() {
17+
let net = getNet()
18+
const client = new xrpl.Client(net)
19+
await client.connect()
20+
resultField.value = `===Getting Account===\n\nConnected to ${net}.`
21+
try {
22+
let faucetHost = null
23+
const my_wallet = (await client.fundWallet(null, { faucetHost})).wallet
24+
const newAccount = [my_wallet.address, my_wallet.seed]
25+
return (newAccount)
26+
}
27+
catch (error) {
28+
console.error('===Error getting account:', error);
29+
results += `\nError: ${error.message}\n`
30+
resultField.value = results
31+
throw error; // Re-throw the error to be handled by the caller
32+
}
33+
finally {
34+
// Disconnect from the client
35+
await client.disconnect();
36+
}
37+
} // End of getAccount()
38+
39+
async function getNewAccount1() {
40+
account1address.value = "=== Getting new account. ===\n\n"
41+
account1seed.value = ""
42+
const accountInfo= await getAccount()
43+
account1address.value = accountInfo[0]
44+
account1seed.value = accountInfo[1]
45+
}
46+
47+
async function getNewAccount2() {
48+
account2address.value = "=== Getting new account. ===\n\n"
49+
account2seed.value = ""
50+
const accountInfo= await getAccount()
51+
account2address.value = accountInfo[0]
52+
account2seed.value = accountInfo[1]
53+
}
54+
55+
// *****************************************************
56+
// ********** Get Account from Seed ********************
57+
// *****************************************************
58+
59+
async function getAccountFromSeed(my_seed) {
60+
const net = getNet()
61+
const client = new xrpl.Client(net)
62+
await client.connect()
63+
let results = '===Finding wallet.===\n\n'
64+
resultField.value = results
65+
try {
66+
const wallet = xrpl.Wallet.fromSeed(my_seed)
67+
const address = wallet.address
68+
results += "===Wallet found.===\n\n"
69+
results += "Account address: " + address + "\n\n"
70+
resultField.value = results
71+
return (address)
72+
}
73+
catch (error) {
74+
console.error('===Error getting account from seed:', error);
75+
results += `\nError: ${error.message}\n`
76+
resultField.value = results
77+
throw error; // Re-throw the error to be handled by the caller
78+
}
79+
finally {
80+
// Disconnect from the client
81+
await client.disconnect();
82+
}
83+
} // End of getAccountFromSeed()
84+
85+
// *****************************************************
86+
// ********** Get Account from Seed1 *******************
87+
// *****************************************************
88+
89+
async function getAccountFromSeed1() {
90+
account1address.value = await getAccountFromSeed(account1seed.value)
91+
}
92+
93+
// *****************************************************
94+
// ********** Get Account from Seed2 *******************
95+
// *****************************************************
96+
97+
async function getAccountFromSeed2() {
98+
account2address.value = await getAccountFromSeed(account2seed.value)
99+
}
100+
101+
// *****************************************************
102+
// ************ Gather Account Info ********************
103+
// *****************************************************
104+
105+
function gatherAccountInfo() {
106+
let accountData = account1name.value + "\n" + account1address.value + "\n" + account1seed.value + "\n"
107+
accountData += account2name.value + "\n" + account2address.value + "\n" + account2seed.value
108+
resultField.value = accountData
109+
}
110+
111+
// *****************************************************
112+
// ********** Distribute Account Info ******************
113+
// *****************************************************
114+
115+
function distributeAccountInfo() {
116+
let accountInfo = resultField.value.split("\n")
117+
account1name.value = accountInfo[0]
118+
account1address.value = accountInfo[1]
119+
account1seed.value = accountInfo[2]
120+
account2name.value = accountInfo[3]
121+
account2address.value = accountInfo[4]
122+
account2seed.value = accountInfo[5]
123+
}
124+
125+
// *****************************************************
126+
// ************ Populate Active Form 1 *****************
127+
// *****************************************************
128+
129+
function populate1() {
130+
accountNameField.value = account1name.value
131+
accountAddressField.value = account1address.value
132+
accountSeedField.value = account1seed.value
133+
getXrpBalance()
134+
}
135+
136+
// *****************************************************
137+
// ************ Populate Active Form 2 *****************
138+
// *****************************************************
139+
140+
function populate2() {
141+
accountNameField.value = account2name.value
142+
accountAddressField.value = account2address.value
143+
accountSeedField.value = account2seed.value
144+
getXrpBalance()
145+
}
146+
147+
// *******************************************************
148+
// **************** Get XRP Balance *********************
149+
// *******************************************************
150+
151+
async function getXrpBalance() {
152+
const net = getNet()
153+
const client = new xrpl.Client(net)
154+
await client.connect()
155+
let results = `\n===Getting XRP balance...===\n\n`
156+
resultField.value = results
157+
try {
158+
const wallet = xrpl.Wallet.fromSeed(accountSeedField.value)
159+
const balance = await client.getXrpBalance(wallet.address)
160+
results += accountNameField.value + " current XRP balance: " + balance + "\n\n"
161+
xrpBalanceField.value = await client.getXrpBalance(accountAddressField.value)
162+
resultField.value = results
163+
}
164+
catch (error) {
165+
console.error('Error getting XRP balance:', error);
166+
results += `\nError: ${error.message}\n`
167+
resultField.value = results
168+
throw error; // Re-throw the error to be handled by the caller
169+
}
170+
finally {
171+
// Disconnect from the client
172+
await client.disconnect();
173+
}
174+
} // End of getXrpBalance()
175+
176+
// *******************************************************
177+
// ************** Get Token Balance *********************
178+
// *******************************************************
179+
180+
async function getTokenBalance() {
181+
let net = getNet()
182+
const client = new xrpl.Client(net)
183+
await client.connect()
184+
let results = `===Connected to ${net}.===\n===Getting account token balance...===\n\n`
185+
resultField.value += results
186+
try {
187+
const wallet = xrpl.Wallet.fromSeed(accountSeedField.value)
188+
const balance = await client.request({
189+
command: "gateway_balances",
190+
account: wallet.address,
191+
ledger_index: "validated",
192+
})
193+
results = accountNameField.value + "\'s token balance(s): " + JSON.stringify(balance.result, null, 2) + "\n"
194+
resultField.value += results
195+
xrpBalanceField.value = (await client.getXrpBalance(wallet.address))
196+
}
197+
catch (error) {
198+
console.error('Error getting token balance:', error);
199+
results = `\nError: ${error.message}\n`
200+
resultField.value += results
201+
throw error; // Re-throw the error to be handled by the caller
202+
}
203+
finally {
204+
// Disconnect from the client
205+
await client.disconnect();
206+
}
207+
} // End of getTokenBalance()
208+

0 commit comments

Comments
 (0)