mirror of
				https://github.com/Xahau/xahau.js.git
				synced 2025-11-04 13:05:49 +00:00 
			
		
		
		
	Merge branch 'beta3' into patch-beta3-definitions
This commit is contained in:
		@@ -92,7 +92,13 @@ validators.txt
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# In order to enable an amendment which by default would vote "No", you must include its amendment id and name here.
 | 
			
		||||
# To get the list of amendments on a network:
 | 
			
		||||
# To add amendments specifically from the latest releases of rippled:
 | 
			
		||||
# 1. Go to https://xrpl.org/known-amendments.html
 | 
			
		||||
# 2. Find the first amendment in the latest releases of rippled which are not already in the list below
 | 
			
		||||
# 3. Click on each amendment to get their Amendment ID and name to add to this list manually.
 | 
			
		||||
#    You will likely update the list with all amendments from a new release of rippled all at once.
 | 
			
		||||
 | 
			
		||||
# To get the list of amendments on a network (e.g. devnet):
 | 
			
		||||
# 1. Run this ledger_entry command against the network to get a list of enabled amendment ids. (Command is in the websocket link as an easy way to run it)
 | 
			
		||||
#    https://xrpl.org/websocket-api-tool.html?server=wss%3A%2F%2Fs1.ripple.com%2F&req=%7B%22command%22%3A%22ledger_entry%22%2C%22index%22%3A%227DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4%22%2C%22ledger_index%22%3A%22validated%22%7D
 | 
			
		||||
# 2. Strip away the quotes and commas
 | 
			
		||||
@@ -101,6 +107,7 @@ validators.txt
 | 
			
		||||
#   The amendment name can be any string (including just a number)
 | 
			
		||||
#
 | 
			
		||||
# Note: The version of rippled you use this config with must have an implementation for the amendments you attempt to enable or it will crash.
 | 
			
		||||
# If you need the version of rippled to be more up to date, you may need to make a comment on this repo: https://github.com/WietseWind/docker-rippled
 | 
			
		||||
 | 
			
		||||
[amendments]
 | 
			
		||||
# Devnet amendments as of March 28th, 2023
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										704
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										704
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -57,7 +57,6 @@
 | 
			
		||||
    "path-browserify": "1.0.1",
 | 
			
		||||
    "prettier": "^2.3.2",
 | 
			
		||||
    "process": "^0.11.10",
 | 
			
		||||
    "puppeteer": "^13.7.0",
 | 
			
		||||
    "source-map-loader": "^3.0.1",
 | 
			
		||||
    "source-map-support": "^0.5.16",
 | 
			
		||||
    "stream-browserify": "^3.0.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -347,6 +347,16 @@
 | 
			
		||||
        "type": "UInt16"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "NetworkID",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 1,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "UInt32"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "Flags",
 | 
			
		||||
      {
 | 
			
		||||
@@ -800,7 +810,17 @@
 | 
			
		||||
    [
 | 
			
		||||
      "VoteWeight",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 47,
 | 
			
		||||
        "nth": 48,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "UInt32"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "FirstNFTokenSequence",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 50,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
@@ -1547,16 +1567,6 @@
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenOut",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 20,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LockedBalance",
 | 
			
		||||
      {
 | 
			
		||||
@@ -1568,17 +1578,7 @@
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenIn",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 21,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "EPrice",
 | 
			
		||||
      "BaseFeeDrops",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 22,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
@@ -1588,7 +1588,7 @@
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "Price",
 | 
			
		||||
      "ReserveBaseDrops",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 23,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
@@ -1598,7 +1598,7 @@
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenBalance",
 | 
			
		||||
      "ReserveIncrementDrops",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 24,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
@@ -1607,6 +1607,46 @@
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenOut",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 25,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenIn",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 26,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "EPrice",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 27,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "Price",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 28,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "SignatureReward",
 | 
			
		||||
      {
 | 
			
		||||
@@ -1627,6 +1667,16 @@
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "LPTokenBalance",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 31,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "Amount"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "PublicKey",
 | 
			
		||||
      {
 | 
			
		||||
@@ -1957,16 +2007,6 @@
 | 
			
		||||
        "type": "AccountID"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "AMMAccount",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 11,
 | 
			
		||||
        "isVLEncoded": true,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
        "type": "AccountID"
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    [
 | 
			
		||||
      "HookAccount",
 | 
			
		||||
      {
 | 
			
		||||
@@ -2360,7 +2400,7 @@
 | 
			
		||||
    [
 | 
			
		||||
      "AuctionSlot",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 27,
 | 
			
		||||
        "nth": 26,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
@@ -2370,7 +2410,7 @@
 | 
			
		||||
    [
 | 
			
		||||
      "AuthAccount",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 28,
 | 
			
		||||
        "nth": 27,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
@@ -2510,7 +2550,7 @@
 | 
			
		||||
    [
 | 
			
		||||
      "VoteSlots",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 14,
 | 
			
		||||
        "nth": 12,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
@@ -2610,7 +2650,7 @@
 | 
			
		||||
    [
 | 
			
		||||
      "AuthAccounts",
 | 
			
		||||
      {
 | 
			
		||||
        "nth": 26,
 | 
			
		||||
        "nth": 21,
 | 
			
		||||
        "isVLEncoded": false,
 | 
			
		||||
        "isSerialized": true,
 | 
			
		||||
        "isSigningField": true,
 | 
			
		||||
@@ -2632,6 +2672,9 @@
 | 
			
		||||
    "telCAN_NOT_QUEUE_BLOCKED": -389,
 | 
			
		||||
    "telCAN_NOT_QUEUE_FEE": -388,
 | 
			
		||||
    "telCAN_NOT_QUEUE_FULL": -387,
 | 
			
		||||
    "telWRONG_NETWORK": -386,
 | 
			
		||||
    "telREQUIRES_NETWORK_ID": -385,
 | 
			
		||||
    "telNETWORK_ID_MAKES_TX_NON_CANONICAL": -384,
 | 
			
		||||
 | 
			
		||||
    "temMALFORMED": -299,
 | 
			
		||||
    "temBAD_AMOUNT": -298,
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,7 @@ describe('encode and decode using new types as a parameter', function () {
 | 
			
		||||
    // Normally this would be generated directly from rippled with something like `server_definitions`.
 | 
			
		||||
    // Added here to make it easier to see what is actually changing in the definitions.json file.
 | 
			
		||||
    const definitions = JSON.parse(JSON.stringify(normalDefinitionsJson))
 | 
			
		||||
    definitions.TYPES.NewType = 12
 | 
			
		||||
    definitions.TYPES.NewType = 31
 | 
			
		||||
    definitions.FIELDS.push([
 | 
			
		||||
      'TestField',
 | 
			
		||||
      {
 | 
			
		||||
 
 | 
			
		||||
@@ -4636,11 +4636,11 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "12002315000A220000000024000000026140000000000027106840000000000000016BD5838D7EA4C680000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440913E39EC2BA0E5BC4C5DF1222B1AE9E76758F2B8FFEF1F056076147BB0ADC8117CD0296360DA08B3D48BE9EFC8693C03A253E0D9F166C19CA8D936F9E61A1100811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E",
 | 
			
		||||
      "binary": "12002315000A2200000000240015DAE161400000000000271068400000000000000A6BD5838D7EA4C680000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440B3154D968314FCEB58001E1B0C3A4CFB33DF9FF6C73207E5EAEB9BD07E2747672168E1A2786D950495C38BD8DEE3391BF45F3008DD36F4B12E7C07D82CA5250E8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMCreate",
 | 
			
		||||
        "TxnSignature": "913E39EC2BA0E5BC4C5DF1222B1AE9E76758F2B8FFEF1F056076147BB0ADC8117CD0296360DA08B3D48BE9EFC8693C03A253E0D9F166C19CA8D936F9E61A1100",
 | 
			
		||||
        "TxnSignature": "B3154D968314FCEB58001E1B0C3A4CFB33DF9FF6C73207E5EAEB9BD07E2747672168E1A2786D950495C38BD8DEE3391BF45F3008DD36F4B12E7C07D82CA5250E",
 | 
			
		||||
        "Amount": "10000",
 | 
			
		||||
        "Amount2": {
 | 
			
		||||
          "currency": "ETH",
 | 
			
		||||
@@ -4648,198 +4648,198 @@
 | 
			
		||||
          "value": "10000"
 | 
			
		||||
        },
 | 
			
		||||
        "TradingFee": 10,
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 0,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120024220001000024000000026840000000000000016014D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D074409EEE8CF88C668B955E7EEAB1B4A1B059EDF4F51B7F1546810F87E3E48B09237F015C651E37FB40A979E00EA21361D4E18D7A33DB7DD23070CEEAB2648AB3BB0D811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200242200010000240015DAE168400000000000000A6019D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B874408073C588E7EF672DD171E414638D9AF8DBE9A1359E030DE3E1C9AA6A38A2CE9E138CB56482BB844F7228D48B1E4AD7D09BB7E9F639C115958EEEA374749CA00B8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMDeposit",
 | 
			
		||||
        "TxnSignature": "9EEE8CF88C668B955E7EEAB1B4A1B059EDF4F51B7F1546810F87E3E48B09237F015C651E37FB40A979E00EA21361D4E18D7A33DB7DD23070CEEAB2648AB3BB0D",
 | 
			
		||||
        "TxnSignature": "8073C588E7EF672DD171E414638D9AF8DBE9A1359E030DE3E1C9AA6A38A2CE9E138CB56482BB844F7228D48B1E4AD7D09BB7E9F639C115958EEEA374749CA00B",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "LPTokenOut": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "1000"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 65536,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120024220008000024000000026140000000000003E86840000000000000017321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440BD18A6E2B10B451F61CFADC32B59A0243702DC5DAAE556D51CB9C79981D40C78101FFA9DE6163CFBDF6E7578DF02F2AE3B8A5AB60697E0746D65064D91E8F90A811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200242200080000240015DAE16140000000000003E868400000000000000A7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8744096CA066F42871C55088D2758D64148921B1ACAA5C6C648D0F7D675BBF47F87DF711F17C5BD172666D5AEC257520C587A849A6E063345609D91E121A78816EB048114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMDeposit",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 524288,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "BD18A6E2B10B451F61CFADC32B59A0243702DC5DAAE556D51CB9C79981D40C78101FFA9DE6163CFBDF6E7578DF02F2AE3B8A5AB60697E0746D65064D91E8F90A"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "96CA066F42871C55088D2758D64148921B1ACAA5C6C648D0F7D675BBF47F87DF711F17C5BD172666D5AEC257520C587A849A6E063345609D91E121A78816EB04"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120024220010000024000000026140000000000003E86840000000000000016BD511C37937E080000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440E0B1AE32A0F731BF0CEF0D019295BD7F35B22F11A5962F65FA99EE4D38993B14B53DB11C15E36D756E282812E9015D38A6F225940A157693F43F9B795C59950F811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200242200100000240015DAE16140000000000003E868400000000000000A6BD511C37937E080000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440FC22B16A098C236ED7EDB3EBC983026DFD218A03C8BAA848F3E1D5389D5B8B00473C1178C5BA257BFA2DCD433C414690A430A5CFD71C1C0A7F7BF725EC1759018114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMDeposit",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "Amount2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9", "value": "500"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 1048576,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "E0B1AE32A0F731BF0CEF0D019295BD7F35B22F11A5962F65FA99EE4D38993B14B53DB11C15E36D756E282812E9015D38A6F225940A157693F43F9B795C59950F"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "FC22B16A098C236ED7EDB3EBC983026DFD218A03C8BAA848F3E1D5389D5B8B00473C1178C5BA257BFA2DCD433C414690A430A5CFD71C1C0A7F7BF725EC175901"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120024220020000024000000026140000000000003E86840000000000000016014D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440452BC59F9EE12C224EC983EFDF580F20C4A50E897105FD1FB13520D9753CFB02BD210599181574DF6AD0DB6A42C1EA48D9E48FC3D11B9008E4C76FBB163D5B00811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200242200200000240015DAE16140000000000003E868400000000000000A6019D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440117CF90F9B113AD3BD638B6DB63562B37C287D5180F278B3CCF58FC14A5BAEE98307EA0F6DFE19E2FBA887C92955BA5D1A04F92ADAAEB309DE89C3610D074C098114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMDeposit",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "LPTokenOut": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "1000"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 2097152,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "452BC59F9EE12C224EC983EFDF580F20C4A50E897105FD1FB13520D9753CFB02BD210599181574DF6AD0DB6A42C1EA48D9E48FC3D11B9008E4C76FBB163D5B00"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "117CF90F9B113AD3BD638B6DB63562B37C287D5180F278B3CCF58FC14A5BAEE98307EA0F6DFE19E2FBA887C92955BA5D1A04F92ADAAEB309DE89C3610D074C09"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120024220040000024000000026140000000000003E8684000000000000001601640000000000000197321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440DD6685DC586FAA6AD2D50D785900122EB147D4AC09A55D7080267A9B38180F87CEC44B823359FC3F0AC0104D47B53FFC6B80415664C3C4582672420A0100F70C811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200242200400000240015DAE16140000000000003E868400000000000000A601B40000000000000197321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B874405E51EBC6B52A7C3BA5D0AE2FC8F62E779B80182009B3108A87AB6D770D68F56053C193DB0640128E4765565970625B1E2878E116AC854E6DED412202CCDE0B0D8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMDeposit",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "EPrice": "25",
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 4194304,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "DD6685DC586FAA6AD2D50D785900122EB147D4AC09A55D7080267A9B38180F87CEC44B823359FC3F0AC0104D47B53FFC6B80415664C3C4582672420A0100F70C"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "5E51EBC6B52A7C3BA5D0AE2FC8F62E779B80182009B3108A87AB6D770D68F56053C193DB0640128E4765565970625B1E2878E116AC854E6DED412202CCDE0B0D"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120025220001000024000000026840000000000000016015D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0744066944797E9F03808C9A00AAEFF786AD74FEB2E64B51A9601E89ABA820AAA15927C2E961A9CCA22C4B0D2A2B55E342BD6E297BD765B6F4D3FDCA578A3416BB505811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200252200010000240015DAE168400000000000000A601AD5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B874409D4F41FC452526C0AD17191959D9B6D04A3C73B3A6C29E0F34C8459675A83A7A7D6E3021390EC8C9BE6C93E11C167E12016465E523F64F9EB3194B0A52E418028114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMWithdraw",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "LPTokenIn": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "1000"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 65536,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "66944797E9F03808C9A00AAEFF786AD74FEB2E64B51A9601E89ABA820AAA15927C2E961A9CCA22C4B0D2A2B55E342BD6E297BD765B6F4D3FDCA578A3416BB505"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "9D4F41FC452526C0AD17191959D9B6D04A3C73B3A6C29E0F34C8459675A83A7A7D6E3021390EC8C9BE6C93E11C167E12016465E523F64F9EB3194B0A52E41802"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120025220008000024000000026140000000000003E86840000000000000017321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440E30397CE7E99B13D35FFB5C66725B17F4F103675E10293C7B1D63C1BE3FA81B884BD3FBD31B52F6B811F99C5FBB5102D170EC379C268DF80DABF04E7F2DD4F0C811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200252200080000240015DAE16140000000000003E868400000000000000A7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440E2C60D56C337D6D73E4B7D53579C93C666605494E82A89DD58CFDE79E2A4866BCF52370A2146877A2EF748E98168373710001133A51B645D89491849079035018114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMWithdraw",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 524288,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "E30397CE7E99B13D35FFB5C66725B17F4F103675E10293C7B1D63C1BE3FA81B884BD3FBD31B52F6B811F99C5FBB5102D170EC379C268DF80DABF04E7F2DD4F0C"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "E2C60D56C337D6D73E4B7D53579C93C666605494E82A89DD58CFDE79E2A4866BCF52370A2146877A2EF748E98168373710001133A51B645D8949184907903501"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120025220010000024000000026140000000000003E86840000000000000016BD511C37937E080000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D07440C0818312B269A4EF16C1C7EBBB74EFD1852A288BB214A714B8BE3B5F4B2F9CFDFF4F66C931B8434244A8016035B9EC9493B7CF5E0ACF4570A88DF808D79E4300811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200252200100000240015DAE16140000000000003E868400000000000000A6BD511C37937E080000000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440D2FCD7D03E53358BC6188BA88A7BA4FF2519B639C3B5C0EBCBDCB704426CA2837111430E92A6003D1CD0D81C63682C74839320539EC4F89B82AA5607714952028114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMWithdraw",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "Amount2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9", "value": "500"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 1048576,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "C0818312B269A4EF16C1C7EBBB74EFD1852A288BB214A714B8BE3B5F4B2F9CFDFF4F66C931B8434244A8016035B9EC9493B7CF5E0ACF4570A88DF808D79E4300"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "D2FCD7D03E53358BC6188BA88A7BA4FF2519B639C3B5C0EBCBDCB704426CA2837111430E92A6003D1CD0D81C63682C74839320539EC4F89B82AA560771495202"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120025220020000024000000026140000000000003E86840000000000000016015D5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0744073552B3DC7AE99DDF4E4FF0D60E6D0BE4688E3474D363603FA25DA6AD8BBA8F0E4E3EA82ADB2B57F5B9A6C379969E00095546DDA0E74FF3D0F0689351C2F8C06811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200252200200000240015DAE16140000000000003E868400000000000000A601AD5438D7EA4C68000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8744042DA5620E924E2D2059BBB4E0C4F03244140ACED93B543136FEEDF802165F814D09F45C7E2A4618468442516F4712A23B1D3332D5DBDBAE830337F39F259C90F8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMWithdraw",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "LPTokenIn": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "1000"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 2097152,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "73552B3DC7AE99DDF4E4FF0D60E6D0BE4688E3474D363603FA25DA6AD8BBA8F0E4E3EA82ADB2B57F5B9A6C379969E00095546DDA0E74FF3D0F0689351C2F8C06"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "42DA5620E924E2D2059BBB4E0C4F03244140ACED93B543136FEEDF802165F814D09F45C7E2A4618468442516F4712A23B1D3332D5DBDBAE830337F39F259C90F"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120025220040000024000000026140000000000003E8684000000000000001601640000000000000197321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0744023BAFE5BFE58E7BF0B02B5875983D007C10796C8E62A190BF688EBE5D8A104DAD2DE7EDE995FE2E494883FD8140F38E22E3376A2F49C50EFCAA00C7499A4690E811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200252200400000240015DAE16140000000000003E868400000000000000A601B40000000000000197321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8744045BCEE5A12E5F5F1FB085A24F2F7FD962BBCB0D89A44A5319E3F7E3799E1870341880B6F684132971DDDF2E6B15356B3F407962D6D4E8DE10989F3B16E3CB90D8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMWithdraw",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "Amount": "1000",
 | 
			
		||||
        "EPrice": "25",
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 4194304,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "23BAFE5BFE58E7BF0B02B5875983D007C10796C8E62A190BF688EBE5D8A104DAD2DE7EDE995FE2E494883FD8140F38E22E3376A2F49C50EFCAA00C7499A4690E"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "45BCEE5A12E5F5F1FB085A24F2F7FD962BBCB0D89A44A5319E3F7E3799E1870341880B6F684132971DDDF2E6B15356B3F407962D6D4E8DE10989F3B16E3CB90D"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "120027220000000024000000026840000000000000016CD4C8E1BC9BF04000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0486DD4CC6F3B40B6C000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D074406B2A1548E6DC14681356C27CCBE7072CAB2AD8C72D0D7A045916FB0E0DBE6BF71A429CC519E9200172829D3EEF79100899D3A8710C1C3C1A2B664FD64086AD0A811462D4D845D20B4F09CFEA8BB4C01063D99FC9673EF01AE01C81149A91957F8F16BC57F3F200CD8C98375BF1791586E1F10318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200272200000000240015DAE168400000000000000A6CD4C8E1BC9BF04000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0486DD4CC6F3B40B6C000B3813FCAB4EE68B3D0D735D6849465A9113EE048B3813FCAB4EE68B3D0D735D6849465A9113EE0487321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440F8EAAFB5EC1A69275167589969F0B9764BACE6BC8CC81482C2FC5ACCE691EDBD0D88D141137B1253BB1B9AC90A8A52CB37F5B6F7E1028B06DD06F91BE06F5A0F8114F92F27CC5EE2F2760278FE096D0CBE32BDD3653AF015E01B81149A91957F8F16BC57F3F200CD8C98375BF1791586E1F10318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMBid",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "AuthAccounts": [{"AuthAccount": {"Account": "rEaHTti4HZsMBpxTAF4ncWxkcdqDh1h6P7"}}],
 | 
			
		||||
        "BidMax": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "35"},
 | 
			
		||||
        "BidMin": {"currency": "B3813FCAB4EE68B3D0D735D6849465A9113EE048", "issuer": "rH438jEAzTs5PYtV6CHZqpDpwCKQmPW9Cg", "value": "25"},
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 0,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "6B2A1548E6DC14681356C27CCBE7072CAB2AD8C72D0D7A045916FB0E0DBE6BF71A429CC519E9200172829D3EEF79100899D3A8710C1C3C1A2B664FD64086AD0A"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "F8EAAFB5EC1A69275167589969F0B9764BACE6BC8CC81482C2FC5ACCE691EDBD0D88D141137B1253BB1B9AC90A8A52CB37F5B6F7E1028B06DD06F91BE06F5A0F"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "binary": "1200261500EA220000000024000000026840000000000000017321ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0744072767CF9A0F5E9C9DA6BBB6E84905B0ECDF122D3E2D730843EFD377521E8E73664AD809D0A54E8C75CD1735ACB64E310BB49FDED10913FA150B8C006D4ACEC00811462D4D845D20B4F09CFEA8BB4C01063D99FC9673E0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "binary": "1200261500EA2200000000240015DAE168400000000000000A7321ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B87440BC2F6E76969E3747E9BDE183C97573B086212F09D5387460E6EE2F32953E85EAEB9618FBBEF077276E30E59D619FCF7C7BDCDDDD9EB94D7CE1DD5CE9246B21078114F92F27CC5EE2F2760278FE096D0CBE32BDD3653A0318000000000000000000000000000000000000000004180000000000000000000000004554480000000000FBEF9A3A2B814E807745FA3D9C32FFD155FA2E8C",
 | 
			
		||||
      "json": {
 | 
			
		||||
        "Account": "rwr2UWxNwoBdysPSiDDraTQjAQKZEeZAcV",
 | 
			
		||||
        "Account": "rP5ZkB5RZQaECsSVR4DeSFK4fAw52BYtbw",
 | 
			
		||||
        "TransactionType": "AMMVote",
 | 
			
		||||
        "Asset": {"currency": "XRP"},
 | 
			
		||||
        "Asset2": {"currency": "ETH", "issuer": "rPyfep3gcLzkosKC9XiE77Y8DZWG6iWDT9"},
 | 
			
		||||
        "TradingFee": 234,
 | 
			
		||||
        "Fee": "1",
 | 
			
		||||
        "Fee": "10",
 | 
			
		||||
        "Flags": 0,
 | 
			
		||||
        "Sequence": 2,
 | 
			
		||||
        "SigningPubKey": "ED8A00C1D29E762266576408B08D583B987673550655F930635678B436D5CDF7D0",
 | 
			
		||||
        "TxnSignature": "72767CF9A0F5E9C9DA6BBB6E84905B0ECDF122D3E2D730843EFD377521E8E73664AD809D0A54E8C75CD1735ACB64E310BB49FDED10913FA150B8C006D4ACEC00"
 | 
			
		||||
        "Sequence": 1432289,
 | 
			
		||||
        "SigningPubKey": "ED7453D2572A2104E7B266A45888C53F503CEB1F11DC4BB3710EB2995238EC65B8",
 | 
			
		||||
        "TxnSignature": "BC2F6E76969E3747E9BDE183C97573B086212F09D5387460E6EE2F32953E85EAEB9618FBBEF077276E30E59D619FCF7C7BDCDDDD9EB94D7CE1DD5CE9246B2107"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -2,3 +2,5 @@ dist
 | 
			
		||||
node_modules
 | 
			
		||||
.github
 | 
			
		||||
.vscode
 | 
			
		||||
karma.config.js
 | 
			
		||||
karma-setup.js
 | 
			
		||||
 
 | 
			
		||||
@@ -30,5 +30,15 @@ module.exports = function (config) {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    browsers: ['ChromeHeadless'],
 | 
			
		||||
    // runs only one browser at a time
 | 
			
		||||
    concurrency: 1,
 | 
			
		||||
    // CI mode
 | 
			
		||||
    singleRun: true,
 | 
			
		||||
    client: {
 | 
			
		||||
      jasmine: {
 | 
			
		||||
        // ensures that tests are run in order instead of a random order
 | 
			
		||||
        random: false,
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,16 @@
 | 
			
		||||
/* eslint-disable import/export -- Tells webpack which files exist. */
 | 
			
		||||
 | 
			
		||||
// These go first because they're affected by the `ledger_accept`s
 | 
			
		||||
export * from './transactions/escrowFinish.test'
 | 
			
		||||
export * from './transactions/escrowCancel.test'
 | 
			
		||||
 | 
			
		||||
// Transactions
 | 
			
		||||
export * from './transactions/accountSet.test'
 | 
			
		||||
export * from './transactions/checkCancel.test'
 | 
			
		||||
export * from './transactions/checkCash.test'
 | 
			
		||||
export * from './transactions/checkCreate.test'
 | 
			
		||||
export * from './transactions/depositPreauth.test'
 | 
			
		||||
export * from './transactions/escrowCancel.test'
 | 
			
		||||
export * from './transactions/escrowCreate.test'
 | 
			
		||||
export * from './transactions/escrowFinish.test'
 | 
			
		||||
export * from './transactions/offerCancel.test'
 | 
			
		||||
export * from './transactions/offerCreate.test'
 | 
			
		||||
export * from './transactions/payment.test'
 | 
			
		||||
@@ -16,6 +20,7 @@ export * from './transactions/paymentChannelFund.test'
 | 
			
		||||
export * from './transactions/signerListSet.test'
 | 
			
		||||
export * from './transactions/trustSet.test'
 | 
			
		||||
 | 
			
		||||
// Requests
 | 
			
		||||
export * from './requests/accountChannels.test'
 | 
			
		||||
export * from './requests/accountCurrencies.test'
 | 
			
		||||
export * from './requests/accountInfo.test'
 | 
			
		||||
 
 | 
			
		||||
@@ -8,21 +8,13 @@ import {
 | 
			
		||||
  type XrplIntegrationTestContext,
 | 
			
		||||
} from '../setup'
 | 
			
		||||
import {
 | 
			
		||||
  // calculateWaitTimeForTransaction,
 | 
			
		||||
  calculateWaitTimeForTransaction,
 | 
			
		||||
  generateFundedWallet,
 | 
			
		||||
  // getXRPBalance,
 | 
			
		||||
  getXRPBalance,
 | 
			
		||||
  testTransaction,
 | 
			
		||||
  submitTransaction,
 | 
			
		||||
  sendLedgerAccept,
 | 
			
		||||
} from '../utils'
 | 
			
		||||
 | 
			
		||||
// TODO: Fix these tests
 | 
			
		||||
// NOTE: Because ledger accept is called among multiple tests, the actual ledger close time is not
 | 
			
		||||
// accurate. It can end up very far into the future. This means that the CancelAfter timer can potentially
 | 
			
		||||
// need to wait for several minutes to be able to properly complete. Since we are not testing the functionaity
 | 
			
		||||
// of rippled in this library, only that we are submitting commands properly, we can just test that the EscrowCancel
 | 
			
		||||
// command was successfully received. If in the future we isolate tests to run on their own rippled instance,
 | 
			
		||||
// we can uncomment the code in this file to test that the escrow was actually cancelled.
 | 
			
		||||
 | 
			
		||||
// how long before each test case times out
 | 
			
		||||
const TIMEOUT = 50000
 | 
			
		||||
 | 
			
		||||
@@ -48,7 +40,7 @@ describe('EscrowCancel', function () {
 | 
			
		||||
        })
 | 
			
		||||
      ).result.ledger.close_time
 | 
			
		||||
 | 
			
		||||
      // const waitTimeInMs = calculateWaitTimeForTransaction(CLOSE_TIME)
 | 
			
		||||
      const waitTimeInMs = calculateWaitTimeForTransaction(CLOSE_TIME)
 | 
			
		||||
 | 
			
		||||
      const createTx: EscrowCreate = {
 | 
			
		||||
        Account: testContext.wallet.classicAddress,
 | 
			
		||||
@@ -61,10 +53,10 @@ describe('EscrowCancel', function () {
 | 
			
		||||
 | 
			
		||||
      await testTransaction(testContext.client, createTx, testContext.wallet)
 | 
			
		||||
 | 
			
		||||
      // const initialBalanceWallet1 = await getXRPBalance(
 | 
			
		||||
      //   testContext.client,
 | 
			
		||||
      //   wallet1,
 | 
			
		||||
      // )
 | 
			
		||||
      const initialBalanceWallet1 = await getXRPBalance(
 | 
			
		||||
        testContext.client,
 | 
			
		||||
        wallet1,
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      // check that the object was actually created
 | 
			
		||||
      const accountObjects = (
 | 
			
		||||
@@ -96,29 +88,25 @@ describe('EscrowCancel', function () {
 | 
			
		||||
 | 
			
		||||
      // We set the CancelAfter timer to be 3 seconds after the last ledger close_time. We need to wait this long
 | 
			
		||||
      // before we can cancel the escrow.
 | 
			
		||||
      // const cancelAfterTimerPromise = new Promise((resolve) => {
 | 
			
		||||
      //   setTimeout(resolve, waitTimeInMs)
 | 
			
		||||
      // })
 | 
			
		||||
      const cancelAfterTimerPromise = new Promise((resolve) => {
 | 
			
		||||
        setTimeout(resolve, waitTimeInMs)
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      // Make sure we wait long enough before canceling the escrow.
 | 
			
		||||
      // await cancelAfterTimerPromise
 | 
			
		||||
      await cancelAfterTimerPromise
 | 
			
		||||
 | 
			
		||||
      // await testTransaction(testContext.client, cancelTx, testContext.wallet, {
 | 
			
		||||
      //   count: 20,
 | 
			
		||||
      //   delayMs: 2000,
 | 
			
		||||
      // })
 | 
			
		||||
 | 
			
		||||
      await submitTransaction({
 | 
			
		||||
        client: testContext.client,
 | 
			
		||||
        transaction: cancelTx,
 | 
			
		||||
        wallet: testContext.wallet,
 | 
			
		||||
      // rippled uses the close time of the previous ledger
 | 
			
		||||
      await sendLedgerAccept(testContext.client)
 | 
			
		||||
      await testTransaction(testContext.client, cancelTx, testContext.wallet, {
 | 
			
		||||
        count: 20,
 | 
			
		||||
        delayMs: 2000,
 | 
			
		||||
      })
 | 
			
		||||
 | 
			
		||||
      // Make sure the Destination wallet did not receive any XRP.
 | 
			
		||||
      // assert.equal(
 | 
			
		||||
      //   await getXRPBalance(testContext.client, wallet1),
 | 
			
		||||
      //   initialBalanceWallet1,
 | 
			
		||||
      // )
 | 
			
		||||
      assert.equal(
 | 
			
		||||
        await getXRPBalance(testContext.client, wallet1),
 | 
			
		||||
        initialBalanceWallet1,
 | 
			
		||||
      )
 | 
			
		||||
    },
 | 
			
		||||
    TIMEOUT,
 | 
			
		||||
  )
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@ import {
 | 
			
		||||
  calculateWaitTimeForTransaction,
 | 
			
		||||
  generateFundedWallet,
 | 
			
		||||
  getXRPBalance,
 | 
			
		||||
  sendLedgerAccept,
 | 
			
		||||
  testTransaction,
 | 
			
		||||
} from '../utils'
 | 
			
		||||
 | 
			
		||||
@@ -84,6 +85,8 @@ describe('EscrowFinish', function () {
 | 
			
		||||
 | 
			
		||||
      await finishAfterPromise
 | 
			
		||||
 | 
			
		||||
      // rippled uses the close time of the previous ledger
 | 
			
		||||
      await sendLedgerAccept(testContext.client)
 | 
			
		||||
      await testTransaction(testContext.client, finishTx, testContext.wallet)
 | 
			
		||||
 | 
			
		||||
      const expectedBalance = String(Number(initialBalance) + Number(AMOUNT))
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
import { TrustSet, percentToQuality } from '../../../src'
 | 
			
		||||
import { assert } from 'chai'
 | 
			
		||||
 | 
			
		||||
import { TrustSet, percentToQuality, Wallet } from '../../../src'
 | 
			
		||||
import serverUrl from '../serverUrl'
 | 
			
		||||
import {
 | 
			
		||||
  setupClient,
 | 
			
		||||
@@ -12,16 +14,21 @@ const TIMEOUT = 20000
 | 
			
		||||
 | 
			
		||||
describe('TrustSet', function () {
 | 
			
		||||
  let testContext: XrplIntegrationTestContext
 | 
			
		||||
  let wallet2: Wallet | undefined
 | 
			
		||||
 | 
			
		||||
  beforeEach(async () => {
 | 
			
		||||
    testContext = await setupClient(serverUrl)
 | 
			
		||||
    if (!wallet2) {
 | 
			
		||||
      // eslint-disable-next-line require-atomic-updates -- race condition doesn't really matter
 | 
			
		||||
      wallet2 = await generateFundedWallet(testContext.client)
 | 
			
		||||
    }
 | 
			
		||||
  })
 | 
			
		||||
  afterEach(async () => teardownClient(testContext))
 | 
			
		||||
 | 
			
		||||
  it(
 | 
			
		||||
    'base',
 | 
			
		||||
    async () => {
 | 
			
		||||
      const wallet2 = await generateFundedWallet(testContext.client)
 | 
			
		||||
      assert(wallet2 != null)
 | 
			
		||||
      const tx: TrustSet = {
 | 
			
		||||
        TransactionType: 'TrustSet',
 | 
			
		||||
        Account: testContext.wallet.classicAddress,
 | 
			
		||||
@@ -40,14 +47,14 @@ describe('TrustSet', function () {
 | 
			
		||||
  it(
 | 
			
		||||
    'Quality < 1',
 | 
			
		||||
    async () => {
 | 
			
		||||
      const wallet2 = await generateFundedWallet(testContext.client)
 | 
			
		||||
      assert(wallet2 != null)
 | 
			
		||||
      const tx: TrustSet = {
 | 
			
		||||
        TransactionType: 'TrustSet',
 | 
			
		||||
        Account: testContext.wallet.address,
 | 
			
		||||
        QualityIn: percentToQuality('99%'),
 | 
			
		||||
        QualityOut: percentToQuality('99%'),
 | 
			
		||||
        LimitAmount: {
 | 
			
		||||
          currency: 'USD',
 | 
			
		||||
          currency: 'BTC',
 | 
			
		||||
          issuer: wallet2.address,
 | 
			
		||||
          value: '100',
 | 
			
		||||
        },
 | 
			
		||||
@@ -61,14 +68,14 @@ describe('TrustSet', function () {
 | 
			
		||||
  it(
 | 
			
		||||
    'Quality > 1',
 | 
			
		||||
    async () => {
 | 
			
		||||
      const wallet2 = await generateFundedWallet(testContext.client)
 | 
			
		||||
      assert(wallet2 != null)
 | 
			
		||||
      const tx: TrustSet = {
 | 
			
		||||
        TransactionType: 'TrustSet',
 | 
			
		||||
        QualityIn: percentToQuality('101%'),
 | 
			
		||||
        QualityOut: percentToQuality('101%'),
 | 
			
		||||
        Account: testContext.wallet.address,
 | 
			
		||||
        LimitAmount: {
 | 
			
		||||
          currency: 'USD',
 | 
			
		||||
          currency: 'ETH',
 | 
			
		||||
          issuer: wallet2.address,
 | 
			
		||||
          value: '100',
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ import { hashSignedTx } from '../../src/utils/hashes'
 | 
			
		||||
const masterAccount = 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh'
 | 
			
		||||
const masterSecret = 'snoPBrXtMeMyMHUVTgbuqAfg1SUTb'
 | 
			
		||||
 | 
			
		||||
async function sendLedgerAccept(client: Client): Promise<unknown> {
 | 
			
		||||
export async function sendLedgerAccept(client: Client): Promise<unknown> {
 | 
			
		||||
  return client.connection.request({ command: 'ledger_accept' })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -253,7 +253,6 @@ export async function testTransaction(
 | 
			
		||||
  },
 | 
			
		||||
): Promise<SubmitResponse> {
 | 
			
		||||
  // Accept any un-validated changes.
 | 
			
		||||
  await ledgerAccept(client)
 | 
			
		||||
 | 
			
		||||
  // sign/submit the transaction
 | 
			
		||||
  const response = await submitTransaction({
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user