XRP -> XAH

This commit is contained in:
Denis Angell
2023-10-31 14:22:03 +01:00
parent 3b234ec8ec
commit 60c97901d2
20 changed files with 41 additions and 40 deletions

View File

@@ -1698,7 +1698,7 @@ __OTHER CHANGES__
parseBinary: false
}
```
+ Added full currency name support, e.g. `Currency.from_json('XRP').to_human({full_name:'Ripples'})` will return `XRP - Ripples`
+ Added full currency name support, e.g. `Currency.from_json('XAH').to_human({full_name:'Ripples'})` will return `XAH - Ripples`
+ Improved interest bearing currency support, e.g. `Currency.from_human('USD - US Dollar (2.5%pa)')`
+ Improve test coverage
+ Added blob vault client. The vault client facilitates interaction with ripple's namespace and blob vault or 3rd party blob vaults using ripple's blob vault software (https://github.com/ripple/ripple-blobvault). A list of the available functions can be found at [docs/VAULTCLIENT.md](docs/VAULTCLIENT.md)

View File

@@ -80,5 +80,6 @@
"readmeFilename": "README.md",
"engines": {
"node": ">=10.13.0"
}
},
"gitHead": "3b234ec8ec1c677e0f3f534fd2985c985871c87e"
}

View File

@@ -18,7 +18,7 @@ async function createTxWithPaths(): Promise<void> {
source_account: wallet.classicAddress,
source_currencies: [
{
currency: 'XRP',
currency: 'XAH',
},
],
destination_account,

View File

@@ -485,10 +485,10 @@ class Wallet {
if (
txCurrency.length === standard_currency_code_len &&
txCurrency.toUpperCase() === 'XRP'
txCurrency.toUpperCase() === 'XAH'
) {
throw new XrplError(
`Trying to sign an issued currency with a similar standard code to XRP (received '${txCurrency}'). XRP is not an issued currency.`,
`Trying to sign an issued currency with a similar standard code to XAH (received '${txCurrency}'). XAH is not an issued currency.`,
)
}
@@ -575,7 +575,7 @@ function removeTrailingZeros(tx: Transaction): void {
/* eslint-disable @typescript-eslint/no-magic-numbers -- Magic numbers are from rippleds of currency code encoding */
function isoToHex(iso: string): string {
const bytes = Buffer.alloc(20)
if (iso !== 'XRP') {
if (iso !== 'XAH') {
const isoBytes = iso.split('').map((chr) => chr.charCodeAt(0))
bytes.set(isoBytes, 12)
}

View File

@@ -1,7 +1,7 @@
export type LedgerIndex = number | ('validated' | 'closed' | 'current')
interface XRP {
currency: 'XRP'
currency: 'XAH'
}
interface IssuedCurrency {

View File

@@ -115,7 +115,7 @@ async function getBalances(
formatBalances(response.result.lines),
)
if (xrpBalance !== '') {
balances.push({ currency: 'XRP', value: xrpBalance })
balances.push({ currency: 'XAH', value: xrpBalance })
}
balances.push(...accountLinesBalance)
},

View File

@@ -105,7 +105,7 @@ function getXRPQuantity(
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions -- okay here
account: (node.FinalFields?.Account ?? node.NewFields?.Account) as string,
balance: {
currency: 'XRP',
currency: 'XAH',
value: dropsToXrp(value).toString(),
},
}

View File

@@ -4,6 +4,6 @@
"issuer": "rp8rJYTpodf8qbSCHVTNacf8nSW8mRakFw"
},
"takerGets": {
"currency": "XRP"
"currency": "XAH"
}
}

View File

@@ -1,7 +1,7 @@
[
{
"value": "922.913243",
"currency": "XRP"
"currency": "XAH"
},
{
"value": "0",

File diff suppressed because one or more lines are too long

View File

@@ -25,7 +25,7 @@ describe('book_offers', function () {
const bookOffer: BookOffersRequest = {
command: 'book_offers',
taker_gets: {
currency: 'XRP',
currency: 'XAH',
},
taker_pays: {
currency: 'USD',

View File

@@ -16,7 +16,7 @@ describe('TrustSet', function () {
TransactionType: 'TrustSet',
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
LimitAmount: {
currency: 'XRP',
currency: 'XAH',
issuer: 'rcXY84C4g14iFp6taFXjjQGVeHqSCh9RX',
value: '4329.23',
},

View File

@@ -118,7 +118,7 @@ describe('Models Utils', function () {
TransactionType: 'TrustSet',
Account: 'rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo',
LimitAmount: {
currency: 'XRP',
currency: 'XAH',
issuer: 'rcXY84C4g14iFp6taFXjjQGVeHqSCh9RX',
value: '4329.23',
},

View File

@@ -15,16 +15,16 @@ import trustlineSetLimit2 from '../fixtures/utils/trustlineSetLimit2.json'
import trustlineSetLimitZero from '../fixtures/utils/trustlineSetLimitZero.json'
describe('getBalanceChanges', function () {
it('XRP create account', function () {
it('XAH create account', function () {
const result = getBalanceChanges(paymentXrpCreateAccount.metadata)
const expected = [
{
account: 'rLDYrujdKUfVx28T9vRDAbyJ7G2WVXKo4K',
balances: [{ currency: 'XRP', value: '100' }],
balances: [{ currency: 'XAH', value: '100' }],
},
{
account: 'rKmBGxocj9Abgy25J51Mk1iqFzW9aVF9Tc',
balances: [{ currency: 'XRP', value: '-100.012' }],
balances: [{ currency: 'XAH', value: '-100.012' }],
},
]
assert.deepStrictEqual(result, expected)
@@ -43,7 +43,7 @@ describe('getBalanceChanges', function () {
},
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -114,7 +114,7 @@ describe('getBalanceChanges', function () {
},
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -136,7 +136,7 @@ describe('getBalanceChanges', function () {
},
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -177,7 +177,7 @@ describe('getBalanceChanges', function () {
balances: [
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -197,7 +197,7 @@ describe('getBalanceChanges', function () {
value: '10',
},
{
currency: 'XRP',
currency: 'XAH',
value: '-0.012',
},
],
@@ -224,7 +224,7 @@ describe('getBalanceChanges', function () {
balances: [
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -239,7 +239,7 @@ describe('getBalanceChanges', function () {
account: 'rsApBGKJmMfExxZBrGnzxEXyq7TMhMRg4e',
balances: [
{
currency: 'XRP',
currency: 'XAH',
value: '-0.00001',
},
],
@@ -286,7 +286,7 @@ describe('getBalanceChanges', function () {
},
{
value: '-0.012',
currency: 'XRP',
currency: 'XAH',
},
],
},
@@ -316,7 +316,7 @@ describe('getBalanceChanges', function () {
value: '-100',
},
{
currency: 'XRP',
currency: 'XAH',
value: '-0.00001',
},
],
@@ -347,7 +347,7 @@ describe('getBalanceChanges', function () {
value: '-200',
},
{
currency: 'XRP',
currency: 'XAH',
value: '-0.00001',
},
],
@@ -383,7 +383,7 @@ describe('getBalanceChanges', function () {
value: '-100',
},
{
currency: 'XRP',
currency: 'XAH',
value: '-0.00001',
},
{

View File

@@ -757,13 +757,13 @@ describe('Wallet', function () {
it('sign throws when a payment contains an issued currency like XRP', async function () {
const payment: Payment = { ...issuedCurrencyPayment }
payment.Amount = {
currency: 'xrp',
currency: 'xah',
issuer: 'rnURbz5HLbvqEq69b1B4TX6cUTNMmcrBqi',
value: '123.40',
}
assert.throws(() => {
wallet.sign(payment)
}, /^Trying to sign an issued currency with a similar standard code to XRP \(received 'xrp'\)\. XRP is not an issued currency\./u)
}, /^Trying to sign an issued currency with a similar standard code to XAH \(received 'xah'\)\. XAH is not an issued currency\./u)
})
it('sign does NOT throw when a payment contains an issued currency like xrp in hex string format', async function () {