diff --git a/docs/build/exchange-guidelines/_category_.json b/docs/build/exchange-guidelines/_category_.json index 7dc69a0..c2c80b6 100644 --- a/docs/build/exchange-guidelines/_category_.json +++ b/docs/build/exchange-guidelines/_category_.json @@ -1,3 +1,3 @@ { - "label": "Exchange Guidlines" -} \ No newline at end of file + "label": "Exchange Guidelines" +} diff --git a/docs/build/exchange-guidelines/gateway_addresses.md b/docs/build/exchange-guidelines/gateway_addresses.md new file mode 100644 index 0000000..a6477ad --- /dev/null +++ b/docs/build/exchange-guidelines/gateway_addresses.md @@ -0,0 +1,923 @@ +# Gateway Addresses (GW) in Zano + +## 1. What are Gateway Addresses? + +A Gateway Address (GW) is a new type of address in the Zano blockchain that will be introduced starting with Hard Fork 6. Unlike classic addresses, which operate under the UTXO model, GW addresses use an **account-based model**, meaning that the balance is stored directly on the blockchain rather than being represented as a set of separate UTXOs. + +GW addresses are designed to simplify integration with external systems such as cross-chain bridges, DEXs, exchanges, and payment gateways. They follow an approach that is more familiar to these services and provide a simple API that is, in some respects, closer to those used by more traditional blockchain platforms such as Bitcoin and Ethereum. This makes it easier for such services to use established custody frameworks, including MPC, and helps make the integration process more transparent and reliable. + +In addition, because GW addresses use an **account-based model**, they avoid the issues related to UTXO fragmentation and distribution that are common in traditional UTXO-based blockchains. + +## 2. Structure + +Gateway Addresses are entities that must first be registered on the blockchain before they can be used. A GW address can only be registered through a standard Zano wallet by calling the Wallet RPC API(see doc below). Once a GW address is registered, it is assigned an ID, which is effectively its public view key, and presented to user as a string starting from gwZ... (regular) or gwiZ...(integrated). After that, coins can be sent to this GW address. + +Each Gateway Address is associated with two private keys controlled by its owner: a **view key** and a **spend key(owner key)**. In the simplest case, the view key and the spend key may be the same. + +In a more advanced setup, a GW address may use different view and spend keys. Importantly, the spend key can be replaced by the owner of the GW address. + +### Keys associated with GW address + +Each GW address is associated with **two** public keys: a **view key** and a **spend key**. + +The **view key** is used exclusively to derive a shared secret between the sender and the recipient, and to encrypt additional information attached to the transaction, such as comments or a `payment_id`, using that secret. Once a view key has been associated with a GW address, it cannot be changed. + +The **spend key** acts as a master key that controls all operations related to a GW address, including spending funds and assigning a new owner by replacing the spend key. From a security perspective, this is the most critical key, as it ultimately controls all funds associated with the address. + +To make integration with Zano convenient for a wide range of services, we implemented support for several signature types that are widely used across the blockchain industry. Below is a description of these signature types, along with the names of the corresponding API fields in the Wallet RPC API [register_gateway_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/register_gateway_address): + +| Name in API | Curve | Public key | Signature | Use case | +|---|---|---|---|---| +| `opt_owner_ecdsa_pub_key` | secp256k1 | 33 bytes (compressed) | 64 bytes
(r \|\| s) | **ECDSA over secp256k1**. This signature type is widely used in blockchain projects such as Ethereum, Bitcoin, and others. | +| `opt_owner_eddsa_pub_key` | Ed25519 | 32 bytes | 64 bytes
(R \|\| s) | **Ed25519** (also referred to as EdDSA). This is the variant used in Solana. | +| `opt_owner_custom_schnorr_pub_key` | Ed25519 | 32 bytes | 64 bytes
(c \|\| y) | **Zano custom Schnorr signature**, also based on Ed25519. | + +**opt_owner_ecdsa_pub_key(ECDSA)** and **opt_owner_eddsa_pub_key(Ed25519)** were implemented primarily because these standards are widely supported across the blockchain industry and because there is extensive tooling available for building MPC solutions with these key types. + +**opt_owner_custom_schnorr_pub_key(Zano custom Schnorr signature)** is an internal algorithm native to the Zano codebase and integrated into Zano’s core transaction protocols. It has similarities to the scheme used in Solana and relies on the same elliptic curve, but for historical reasons it differs in several implementation details, including the hash function used in the Schnorr algorithm. + +Note: View key (`view_pub_key`) can be only **Zano custom Schnorr signature**, as it involved in internal protocol machinery. Only spend key could be assigned as **ECDSA**/**EDDSA*** + +All three types use the compact signature format (64 bytes, without the recovery byte `v`). The signature is transmitted as a hex string (128 characters). + +### Privacy + +When a transaction is sent to or from a GW address, some confidentiality is intentionally sacrificed for the parts of the transaction that directly involve the GW address, whether as the sender or the recipient: + +- **Amounts** transferred to or from a GW address are stored in an open form. Anyone can see how much was sent or received by the GW address, while the counterparty remains hidden through commitments and stealth addresses. +- The **GW address itself** is visible in each input or output associated with it, whereas regular addresses remain hidden. +- The **Payment ID** always remains **encrypted** using key derivation from the view key. Decryption requires the `view_secret_key`. + +This design makes GW addresses suitable for use cases such as bridges, exchanges, and similar services, where a certain level of transparency is acceptable or required. + +--- + +## 3. Creating a GW address + +Registration of a GW address is done via **wallet RPC** (`register_gateway_address`), a Zano wallet with sufficient balance is required. + +### Prerequisites +#### **IMPORTANT**: You must use **YOUR OWN NODE**, as the `view key` will be transferred there. +- Running and synced Zano daemon (`zanod`) on a network with hard fork 6+ +- A wallet with RPC server enabled [(HOWTO)](https://docs.zano.org/docs/build/exchange-guidelines/starting-the-daemon-and-the-wallet-application-as-rpc-server) +- Balance of at least **~100.01 ZANO** (100 ZANO - Registration fee + Default fee) + +### Steps + +#### Step 1: Key generation + +Generate two key pairs: + +1. **View keys** (`view_pub_key`, `view_secret_key`) - the GW address identifier. `view_pub_key` will become the address (`gwZ...`), and `view_secret_key` will be needed later to decrypt payment ID in transaction history +2. **Owner keys** (`owner_pub_key`, `owner_secret_key`) - the owners key for signing transactions. + +**Note:** In the simplest setup, the same key can be used both as the **view key** and as the **ownership key** by providing it as both `view_pub_key` and `opt_owner_custom_schnorr_pub_key` in `register_gateway_address`. +However, to provide more complete guidance, the examples below use a more advanced configuration in which the owner and view keys would be different. + + +**Note on view key generating: L and main subgroup** + +The GW address view key is a point on the Ed25519 curve. The Ed25519 curve has order `8 * L`, where `L` is the order of the prime-order subgroup: + +[Wiki Curve25519 L magic number](https://en.wikipedia.org/wiki/Curve25519) +``` +L = 2^252 + 27742317777372353535851937790883648493 +``` + +If the secret scalar is chosen arbitrarily (without the restriction `< L`), the resulting point may contain a **torsion component** — a small multiplier of order 2, 4, or 8. Such points lie outside the main subgroup and create a vulnerability: two different scalars can generate the same point (address collision). + +During registration, Zano Core verifies that `view_pub_key` belongs to the main L-subgroup (no torsion). Therefore, when generating a view key, you need to: + +1. Select a random scalar `s` in the range `[1, L-1]` +2. Compute the public key as `s * G` + +This ensures that the public key resides in the main subgroup and that the registration will pass validation. + +**ECDSA low-S normalisation** + +[EIP-2 explaining link](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md) + +For ECDSA signatures (secp256k1), Zano requires that the value of `s` be in the "lower half" (`s <= n/2`, where `n` is the order of the secp256k1 curve). This is a standard requirement (EIP-2) that prevents signature malleability. Our `ethers.js` v6 library automatically normalizes `s` when calling `signingKey.sign()`, so no additional action is required. + + +**nodejs - keygen example** + +```javascript +// gen Ed25519 view keys (valid scalar < L, main-subgroup public key) +const ED25519_L = (1n << 252n) + 27742317777372353535851937790883648493n; + +function randomScalarLtL() { + while (true) { + const b = ethers.randomBytes(32); + const x = BigInt('0x' + Buffer.from(b).toString('hex')); + const s = x % ED25519_L; + if (s !== 0n) return s; + } +} + +function scalarToLe32Hex(s) { + const out = Buffer.alloc(32, 0); + let x = s; + for (let i = 0; i < 32; i++) { + out[i] = Number(x & 0xffn); + x >>= 8n; + } + return out.toString('hex'); +} + +const scalar = randomScalarLtL(); +const viewSecretKey = scalarToLe32Hex(scalar); +const viewPubKey = Buffer.from(ed.Point.BASE.multiply(scalar).toBytes()).toString('hex'); + +console.log('View public key (GW address ID):', viewPubKey); +console.log('View secret key (save securely!!):', viewSecretKey); + +// gen Ethereum owner keys for tx sign +const ownerWallet = ethers.Wallet.createRandom(); +const ownerEthPubKey = ethers.SigningKey.computePublicKey(ownerWallet.privateKey, true).substring(2); // remove '0x', 33 bytes hex + +console.log('Owner ETH public key:', ownerEthPubKey); +console.log('Owner ETH private key (save securely!):', ownerWallet.privateKey); +``` + +#### Step 2: Call register_gateway_address + +``` +User Wallet RPC Blockchain + | | | + | 1. Generate keys | | + | view + owner | | + | | | + | register_gateway_ | | + | address ----------> | | + | | TX (fee=100 ZANO) | + | | -----------------> | + | | | Validation: + | | | - fee >= 100 ZANO + | | | - no torsion + | | | - address not taken + | | | + | gwZ..., tx_id <--- | | + | | | +``` + +**Request** (wallet JSON-RPC): + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "register_gateway_address", + "params": { + "view_pub_key": "4dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef180", + "descriptor_info": { + "opt_owner_ecdsa_pub_key": "0375d5e222b50cb55ede0a70ebb398ebc9e5d5e74ea0cbce860d4a38301877f4f7", + "meta_info": "Example GW address for documentation" + } + } +} +``` + +Instead of `opt_owner_ecdsa_pub_key` you can specify: +- `opt_owner_custom_schnorr_pub_key` - for Schnorr key (64 hex) +- `opt_owner_eddsa_pub_key` - for EdDSA key (64 hex) + +Exactly **one** owner key type must be specified. + +**Response:** + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "address": "gwZ5sqxb53vdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpnSgfC1v", + "address_id": "4dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef180", + "status": "OK", + "tx_id": "3a0af1fc8dd142234e0ee300ccd930964d1a17ff9bab51cf610818db0e82fc4a" + } +} +``` + +After the transaction is confirmed in a block, the GW address is registered **permanently**. + +**Node.js - registration and verification:** + +```javascript +async function registerGatewayAddress(viewPubKey, ownerEthPubKey) { + const regResult = await callWalletRpc('register_gateway_address', { + view_pub_key: viewPubKey, + descriptor_info: { + opt_owner_ecdsa_pub_key: ownerEthPubKey, + meta_info: 'Example GW address for documentation', + }, + }); + + console.log('Registered GW address:', regResult.address); + console.log('Transaction ID:', regResult.tx_id); + + console.log('Waiting for confirmation...'); + await sleep(20000); + + const info = await callDaemonRpc('gateway_get_address_info', { + gateway_address: regResult.address, + }); + + console.log('GW address info:', JSON.stringify(info, null, 2)); + console.log('Balances:', info.balances); + console.log('View pub key:', info.gateway_view_pub_key); + + return regResult.address; +} +``` + +#### Step 3: Verify registration + +Use daemon RPC `gateway_get_address_info`: + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "gateway_get_address_info", + "params": { + "gateway_address": "gwZ5sqxb53vdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpnSgfC1v" + } +} +``` + +**Response:** + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "status": "OK", + "descriptor_info": { + "opt_owner_ecdsa_pub_key": "0375d5e222b50cb55ede0a70ebb398ebc9e5d5e74ea0cbce860d4a38301877f4f7", + "meta_info": "Example GW address for documentation" + }, + "balances": [], + "gateway_view_pub_key": "4dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef180", + "payment_id": "" + } +} +``` + +Balances are still empty - the address was just created + +--- + +## 4. Sending funds from a GW address (two-step API) + +Sending funds from a GW address is done via **daemon RPC** (!not wallet RPC!) in three stages: creating an unsigned transaction, signing, and broadcasting to the network. + +This approach allows signing transactions **outside the daemon** - for example, in MPC framework, on a cold wallet, or in any external system. + +### General flow + +``` +External service Daemon (zanod) Blockchain + | | | + | gateway_create_ | | + | transfer --------------> | | + | origin_gateway_id | Checks balance | + | destinations, fee | Builds unsigned TX | + | | | + | tx_hash_to_sign <--- | | + | tx_blob | | + | | | + | +--------------------+ | | + | | Signs | | | + | | tx_hash_to_sign | | | + | | with owner_key | | | + | | (offline/MetaMask) | | | + | +--------------------+ | | + | | | + | gateway_sign_ | | + | transfer --------------> | | + | tx_blob + signature | Inserts signature | + | | | + | signed_tx_blob <--- | | + | | | + | sendrawtransaction ----> | --------------------> | + | | Into block | +``` + +### Step 1: Create transaction - `gateway_create_transfer` + +**Request** (daemon JSON-RPC): + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "gateway_create_transfer", + "params": { + "origin_gateway_id": "4dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef180", + "destinations": [ + { + "amount": 1000000000000, + "address": "ZxCBjKr7pukfAKj5uiR2kbYPAu56F4rxVVH6m6m4Uk6f5zusV6xPKhW1LStNDiibPjjNWXUYKSmUScphZjZHfzpX32JyFYyBv", + "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a" + } + ], + "fee": 100000000, + "comment": "Payment for services" + } +} +``` + +Destinations can be both regular addresses (`Z...`) and other GW addresses (`gwZ...`). + +**Response:** + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "status": "OK", + "tx_hash_to_sign": "20e922b32dfe9b8b6bc6004e40f4198c9e966d5e228cd4830656ba967f8a205c", + "tx_blob": "040141004dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef18074c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b626880988be49903000516787ebe13ed53f6e5225ef5c481024b7f331a42fefa6d859c785521116659150a1700000b0217ce0b0264e42700e40b5402000000023f00f2085ea66732a56db0771aefcaa9c9fcb7828bcf4275d45579c5921d13516df041eacba1733953ed9dd2d2672d20c866076477c32e061536deb1245cb2804137e64ba3acd47465143f7e568afc2c1c3add2b9ffc13520feec9cb8ee734dbd3a574c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268d2ff9f07847d62ebc7202bc521e74f94003f007e5ad2eab4fb7f4a0b19177b593043e30640993e7c844397767c8a22e91521bb97c2d275ee1760109f93d2021cfebffd73aa1e0da75a3cbd737910de3fbe92fb4bbb7523374f82711e894d357b82283f5df7963769d77a80572c0612b0be151374c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268e359da40dc207efd55f19663586410d00006000143004600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032e002f07b6039875cc562b68a034d3acd220672f7213dce03a425deba13c9a01759d65b1c4e06210da36d87f7c6a81c46cd43ec869018e0b2497f6adf79f06aaad6a3080793811d4059534b25449addbcaa1ac642cb9086dbf060d0a8cd685d05532ef23c7e85c9eac2533d21571249799722f491f4318c1426b2ee61cb9575e824302bb95a145a2cb71a682fb652d431f8f17dd66e0036decc89a17784a5d84f4000e36580e5e0bd1bca7d3d4575c2ecec56afdb85ab06986bb35613262fd12e8080482d68d09e8e9b43779f6f9913977935ce00dc2b47e8121ab24d17cf8999992b0c2075effe6cd4b0ad21ac3a310a94cc5b481373c05960cb1ae134d75f8184005e45fc1134f2bd4de031826856e494d4d06e4b2d3164e98b752b4f559df5169b986378c0fd4ddbada717875a15097773974fec4a8419dcdad4fdceb7d6fa5ad71072f36a5888dedc29c3beabcc0784c1035cde704d14d799ee794558b1bfb839537a6663da725062aaa83bee9896eceffaf1236799bb59c7b9bc98c4c20414f254fd151438a6f4208e02bfa6050414dfb1df3c2e41d1173ee9c1da2b60e1fbf84519bad7690be9d01c927da4aa3ee59a7b292caafba860fe1687c344994e80f6b18f5853acfac90be73993e4658de57d6e15b242c8774816433e3a13c1e385bb649efe87e18a75624bd47b25e8414a6b7c2a2deea6988576d8ddeae0be1f689bfe7679f77afe745cf1d819b0d18783aef1122fa1a22917b95a0495b965aad389907aaf96dd1744f4ad5d615e5f46c0853ac8f5a43d404e576db9112eb10182a55f8047b96f8bdb3d0c7b04a2fcef6faa4b732b74d142158bbaba42f32a4216e22a60f33a99867067d22fae284cbefd0e77116ab5274d6fd904725cb23736c4a6d020102932a7296485c475d663f3da145150687fd97f229cb875b0723fad6e9ff545cf90dfa73f05cfb4b90a784d3baea4314a9fc99bb0be5e1eb9bf14341fcb3178a5102fdf319fbafb71264060a697b4b312111ebe4eee25afb2c6c3e12bdda4ed7ea0e433d03150eae875856e1ccba6d70d804747b22b7961bd2a332364919d0d5380002e2f5cac81634c1d768b2a61bb39fda2016fb0bdb75dec9277baa70d4ade8b9069eb890a3c331fd1e45f16fb76adaeaa090a8aa3af3691c0a4c6127ae4213dd0ac55f3f8d223f7f7ee7151e12d4ba8367b2c2bc299b5d30fa8056e7a95c1eb40c30e72c83b96c57d3c13f804e58c20571ef9c934860cbf66746a780e9dfa2444f0221bb69bc9c2099d3672bb30d95b4d1299c57d1b1ad077ea53b9887fc401cf70ab29cdb7bd636d417506749ab6aaae4d00395d8aaa4d5d82ec596c60d850db10e" + } +} +``` + +The daemon checks: +- The GW address exists in the blockchain +- Sufficient funds for each asset_id (including fee in native coin) + +### Step 2: Sign transaction - `gateway_sign_transfer` + +Take `tx_hash_to_sign` from the response and sign it with **your owner_secret_key** (the one whose public key was specified during registration). The signature can be generated in any external system. + +**Request** (daemon JSON-RPC): + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "gateway_sign_transfer", + "params": { + "tx_blob": "040141004dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef18074c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b626880988be49903000516787ebe13ed53f6e5225ef5c481024b7f331a42fefa6d859c785521116659150a1700000b0217ce0b0264e42700e40b5402000000023f00f2085ea66732a56db0771aefcaa9c9fcb7828bcf4275d45579c5921d13516df041eacba1733953ed9dd2d2672d20c866076477c32e061536deb1245cb2804137e64ba3acd47465143f7e568afc2c1c3add2b9ffc13520feec9cb8ee734dbd3a574c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268d2ff9f07847d62ebc7202bc521e74f94003f007e5ad2eab4fb7f4a0b19177b593043e30640993e7c844397767c8a22e91521bb97c2d275ee1760109f93d2021cfebffd73aa1e0da75a3cbd737910de3fbe92fb4bbb7523374f82711e894d357b82283f5df7963769d77a80572c0612b0be151374c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268e359da40dc207efd55f19663586410d00006000143004600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000032e002f07b6039875cc562b68a034d3acd220672f7213dce03a425deba13c9a01759d65b1c4e06210da36d87f7c6a81c46cd43ec869018e0b2497f6adf79f06aaad6a3080793811d4059534b25449addbcaa1ac642cb9086dbf060d0a8cd685d05532ef23c7e85c9eac2533d21571249799722f491f4318c1426b2ee61cb9575e824302bb95a145a2cb71a682fb652d431f8f17dd66e0036decc89a17784a5d84f4000e36580e5e0bd1bca7d3d4575c2ecec56afdb85ab06986bb35613262fd12e8080482d68d09e8e9b43779f6f9913977935ce00dc2b47e8121ab24d17cf8999992b0c2075effe6cd4b0ad21ac3a310a94cc5b481373c05960cb1ae134d75f8184005e45fc1134f2bd4de031826856e494d4d06e4b2d3164e98b752b4f559df5169b986378c0fd4ddbada717875a15097773974fec4a8419dcdad4fdceb7d6fa5ad71072f36a5888dedc29c3beabcc0784c1035cde704d14d799ee794558b1bfb839537a6663da725062aaa83bee9896eceffaf1236799bb59c7b9bc98c4c20414f254fd151438a6f4208e02bfa6050414dfb1df3c2e41d1173ee9c1da2b60e1fbf84519bad7690be9d01c927da4aa3ee59a7b292caafba860fe1687c344994e80f6b18f5853acfac90be73993e4658de57d6e15b242c8774816433e3a13c1e385bb649efe87e18a75624bd47b25e8414a6b7c2a2deea6988576d8ddeae0be1f689bfe7679f77afe745cf1d819b0d18783aef1122fa1a22917b95a0495b965aad389907aaf96dd1744f4ad5d615e5f46c0853ac8f5a43d404e576db9112eb10182a55f8047b96f8bdb3d0c7b04a2fcef6faa4b732b74d142158bbaba42f32a4216e22a60f33a99867067d22fae284cbefd0e77116ab5274d6fd904725cb23736c4a6d020102932a7296485c475d663f3da145150687fd97f229cb875b0723fad6e9ff545cf90dfa73f05cfb4b90a784d3baea4314a9fc99bb0be5e1eb9bf14341fcb3178a5102fdf319fbafb71264060a697b4b312111ebe4eee25afb2c6c3e12bdda4ed7ea0e433d03150eae875856e1ccba6d70d804747b22b7961bd2a332364919d0d5380002e2f5cac81634c1d768b2a61bb39fda2016fb0bdb75dec9277baa70d4ade8b9069eb890a3c331fd1e45f16fb76adaeaa090a8aa3af3691c0a4c6127ae4213dd0ac55f3f8d223f7f7ee7151e12d4ba8367b2c2bc299b5d30fa8056e7a95c1eb40c30e72c83b96c57d3c13f804e58c20571ef9c934860cbf66746a780e9dfa2444f0221bb69bc9c2099d3672bb30d95b4d1299c57d1b1ad077ea53b9887fc401cf70ab29cdb7bd636d417506749ab6aaae4d00395d8aaa4d5d82ec596c60d850db10e", + "tx_hash_to_sign": "20e922b32dfe9b8b6bc6004e40f4198c9e966d5e228cd4830656ba967f8a205c", + "opt_ecdsa_signature": "c2b347b83da0a79637b74ad4b504030033b771ac8cb1f610757f82e88d112b1032ef615efb2cf3f2e70c15de9c63208ca80c1cea70f12785648c98a5ca3c7b40" + } +} +``` + +Instead of `opt_ecdsa_signature` use: +- `opt_custom_schnorr_signature` - if owner key is Schnorr +- `opt_eddsa_signature` - if owner key is EdDSA + +Exactly **one** signature must be specified. + +**Response:** + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "status": "OK", + "signed_tx_blob": "040141004dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef18074c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b626880988be49903000516787ebe13ed53f6e5225ef5c481024b7f331a42fefa6d859c785521116659150a1700000b0217ce0b0264e42700e40b5402000000023f00f2085ea66732a56db0771aefcaa9c9fcb7828bcf4275d45579c5921d13516df041eacba1733953ed9dd2d2672d20c866076477c32e061536deb1245cb2804137e64ba3acd47465143f7e568afc2c1c3add2b9ffc13520feec9cb8ee734dbd3a574c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268d2ff9f07847d62ebc7202bc521e74f94003f007e5ad2eab4fb7f4a0b19177b593043e30640993e7c844397767c8a22e91521bb97c2d275ee1760109f93d2021cfebffd73aa1e0da75a3cbd737910de3fbe92fb4bbb7523374f82711e894d357b82283f5df7963769d77a80572c0612b0be151374c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b6268e359da40dc207efd55f19663586410d0000600014300471cd5b4827d23f04b86a4adeb3733b414cae32221d82b6be30479f056030ae37c2d23ef2f4ad34c55f1a9e1c299a71ad6db414cd41d9e9202d0f3644acf6224f1032e002f07b6039875cc562b68a034d3acd220672f7213dce03a425deba13c9a01759d65b1c4e06210da36d87f7c6a81c46cd43ec869018e0b2497f6adf79f06aaad6a3080793811d4059534b25449addbcaa1ac642cb9086dbf060d0a8cd685d05532ef23c7e85c9eac2533d21571249799722f491f4318c1426b2ee61cb9575e824302bb95a145a2cb71a682fb652d431f8f17dd66e0036decc89a17784a5d84f4000e36580e5e0bd1bca7d3d4575c2ecec56afdb85ab06986bb35613262fd12e8080482d68d09e8e9b43779f6f9913977935ce00dc2b47e8121ab24d17cf8999992b0c2075effe6cd4b0ad21ac3a310a94cc5b481373c05960cb1ae134d75f8184005e45fc1134f2bd4de031826856e494d4d06e4b2d3164e98b752b4f559df5169b986378c0fd4ddbada717875a15097773974fec4a8419dcdad4fdceb7d6fa5ad71072f36a5888dedc29c3beabcc0784c1035cde704d14d799ee794558b1bfb839537a6663da725062aaa83bee9896eceffaf1236799bb59c7b9bc98c4c20414f254fd151438a6f4208e02bfa6050414dfb1df3c2e41d1173ee9c1da2b60e1fbf84519bad7690be9d01c927da4aa3ee59a7b292caafba860fe1687c344994e80f6b18f5853acfac90be73993e4658de57d6e15b242c8774816433e3a13c1e385bb649efe87e18a75624bd47b25e8414a6b7c2a2deea6988576d8ddeae0be1f689bfe7679f77afe745cf1d819b0d18783aef1122fa1a22917b95a0495b965aad389907aaf96dd1744f4ad5d615e5f46c0853ac8f5a43d404e576db9112eb10182a55f8047b96f8bdb3d0c7b04a2fcef6faa4b732b74d142158bbaba42f32a4216e22a60f33a99867067d22fae284cbefd0e77116ab5274d6fd904725cb23736c4a6d020102932a7296485c475d663f3da145150687fd97f229cb875b0723fad6e9ff545cf90dfa73f05cfb4b90a784d3baea4314a9fc99bb0be5e1eb9bf14341fcb3178a5102fdf319fbafb71264060a697b4b312111ebe4eee25afb2c6c3e12bdda4ed7ea0e433d03150eae875856e1ccba6d70d804747b22b7961bd2a332364919d0d5380002e2f5cac81634c1d768b2a61bb39fda2016fb0bdb75dec9277baa70d4ade8b9069eb890a3c331fd1e45f16fb76adaeaa090a8aa3af3691c0a4c6127ae4213dd0ac55f3f8d223f7f7ee7151e12d4ba8367b2c2bc299b5d30fa8056e7a95c1eb40c30e72c83b96c57d3c13f804e58c20571ef9c934860cbf66746a780e9dfa2444f0221bb69bc9c2099d3672bb30d95b4d1299c57d1b1ad077ea53b9887fc401cf70ab29cdb7bd636d417506749ab6aaae4d00395d8aaa4d5d82ec596c60d850db10e" + } +} +``` + +### Step 3: Broadcast transaction - `sendrawtransaction` + +**Request** (daemon JSON-RPC): + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "sendrawtransaction", + "params": { + "tx_as_hex": "040141004dbaa579daf3c4a91e6be2efde9568975f7b506b50d18bbefd6f03132b2ef18074c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b626880988be49903000416bc24fb10b82024e49ab7182aa306f598fe1a25115709ac52bf8a5937823478f81700000b02414b2700e40b5402000000013f006a09e2c8d78239f6ee24e03e2fdeb1833d7db2a1054443c32437354507e77c9f6b112168f194242ec0272040f9ca3be77b1819dc979c0ed4f811806f9f41fffa070ba81bb0696493b30b622c72db50916ca84ed92cd31a24d9e12ec929e5717e74c32d3eaafafc623bf483e858d42e8bf4ec7df064ada2e34934469cff6b62689694946034ed290c47fae35d7304c3cc000600014300473daee84aaa98d68c198d46b21d5c394c588909c06c68810c8cf49fbefa39eaaa0e8ad7b7da716c05806050459a7bef091406067c354f204a7f6e29572f8e756e032e002f0612fb23e26ee199be79821647fd5860b41a9fabfc5a10103832434b4f825ebd5735fc6801bac7aefa358989fe2085312e2d887bcdc8b4dc9d3fd98d8e8456cc7d5d2f1358e94b48ca2b77013a223532752f9e386d6fe2043bb9d1e8dc360f93c2b3a4c15b81caf3a5b3e9ce8a577dc2e621a645b83598ef1010011e13188a68805316fbeb7c5e02b98be11015395d612cee39947cffe6f1d9341da8c115c84ea80b338686aff8a82615e3676aab91a080cfed08375977aa1240aef82e6e2ccc5c06f9210c53cd37401b3321831b136f5301b1f8ef6f69f79d65c881707e7c47443371c3d6c7ee39a60453231d7e2fc0d3a9d8d88fee40a6672ba34a778116ecc29e10c7fedeada99c269503be5190411116a24d2b7a7180f52612b0e709d392c41139ef11e8b9c7fc13dfdb5628e6a7fcd10ab8a8627f076677d45a1d13e8083b05033b18ce459226204109f3f7dce14bba9f27bec1eac584e4a56507c610e8c3f41454609875c220c371722a842dd80e41d1c22a3e472fed2d423f7cd4034a0197ce0f76002f3d04d05bc9497cb8fb5d00a5e3ef78929816d7af102dbaeee6c991b7d1266dd552c78e796815d1d407537faf43cde87798d0374468f71585631e21cd13a9044b1ad60a2d91e185060fd54209f56fa8a022479e753db6fbeaaf060f99b2c8a1725c3f15124ad5711d715081772743b2236551f1954abd531ec2680534f5ccedd31840f29335b296c33e3c11b17474cf38d0f25ef9e130c3cd1817048e8702e785d3260ed095540720c27a1c6a89ce7d57d0ca5f2a2c033fb89e8d0f012693d2098d08c8b455cff771e39e0b1830e01ed35a4e2e34b842e8a34b4c434d010adaf2839eac45d825365919929013e46580a1ee64d73031acc97028b5d77b0e01d4edbe066ed6930681795d723844550a6f0f2fe258ea3dbd266919db5e874e05e08b0f31d849080490600a1de353635bce5f5ded2bae416bc9aea947eac0470a30359fe209a2aa58760b8641285f1a5942a5c8a1aea3f101bdf719295920a4cd0be7629baf5dbc850da978b46bbd21a9663093bee79b4fe96cb0548670560eb00db9f703f1a03937940bc14ff98cd3cad479d6ad18b613374183e9d21d6cc10703" + } +} +``` + +After confirmation in a block, the GW address balance will be updated. + +**Node.js - full send flow (create + sign + broadcast):** + +```javascript +async function sendFromGateway(gatewayAddressId, recipientAddress, amount, ownerWallet) { + const createResult = await callDaemonRpc('gateway_create_transfer', { + origin_gateway_id: gatewayAddressId, + destinations: [ + { amount: amount - 1, address: recipientAddress }, + { amount: 1, address: recipientAddress } + ], + fee: 10000000000, + comment: 'Payment from GW address', + }); + + console.log('TX hash to sign:', createResult.tx_hash_to_sign); + + // sign with ETH private key + const bytesToSign = ethers.getBytes('0x' + createResult.tx_hash_to_sign); + const signature = ownerWallet.signingKey.sign(bytesToSign); + const ethSignature = signature.r.slice(2) + signature.s.slice(2); + + console.log('ETH signature (r||s):', ethSignature); + + const signResult = await callDaemonRpc('gateway_sign_transfer', { + tx_blob: createResult.tx_blob, + tx_hash_to_sign: createResult.tx_hash_to_sign, + opt_ecdsa_signature: ethSignature, + }); + + console.log('Transaction signed successfully'); + + const sendResult = await callDaemonRpc('sendrawtransaction', { + tx_as_hex: signResult.signed_tx_blob, + }); + + console.log('Transaction broadcasted:', sendResult.status); + return createResult.tx_hash_to_sign; +} +``` + +### Sending TO a GW address + +To send funds **to** a GW address, use the regular wallet RPC `transfer` - just specify `gwZ...` as the destination address: + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "transfer", + "params": { + "destinations": [ + { + "amount": 2000000000000, + "address": "gwZ5sqxb53vdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpnSgfC1v" + } + ], + "fee": 100000000 + } +} +``` + +**Node.js - sending to a GW address:** + +```javascript +async function sendToGateway(gwAddress, amount) { + const result = await callWalletRpc('transfer', { + destinations: [ + { + amount: amount, + address: gwAddress, + }, + ], + fee: 100000000, + }); + + console.log('Sent to GW address, tx_id:', result.tx_hash); + return result.tx_hash; +} +``` + +--- + +## 5. Retrieving transaction history + +Transaction history for a GW address is queried via **daemon RPC** using the `gateway_get_address_history` method. + +### IMPORTANT: you need your own daemon + +The `gateway_view_secret_key` parameter is passed to the daemon to decrypt payment IDs and attachments (comments). **If you use a public daemon**, this key will be exposed to its operator. For full security, **run your own node**. + + + +### Request + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "gateway_get_address_history", + "params": { + "gateway_address": "gwZ5sqxb53vdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpnSgfC1v", + "gateway_view_secret_key": "f74bb56a...view secret key (64 hex, optional)", + "offset": 0, + "count": 50 + } +} +``` + +Parameters: +- `gateway_address` - address `gwZ...` or `gwiZ...` +- `gateway_view_secret_key` - secret view key (optional; without it payment_id won't be decrypted) +- `offset` - pagination offset (starting from 0) +- `count` - number of transactions (maximum 200 per request) + +### Response + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "status": "OK", + "total_transactions": 2, + "transactions": [ + { + "tx_hash": "a85942c54afa26bb19ff77201d770d88956975e5c1c9ab72733ed17334122d6a", + "height": 36322, + "subtransfers_by_pid": [ + { + "payment_id": "", + "subtransfers": [ + { + "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", + "is_income": true, + "amount": 2000000000000 + } + ] + } + ] + }, + { + "tx_hash": "20e922b32dfe9b8b6bc6004e40f4198c9e966d5e228cd4830656ba967f8a205c", + "height": 36323, + "subtransfers_by_pid": [ + { + "payment_id": "", + "subtransfers": [ + { + "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", + "is_income": false, + "amount": 1010000000000 + } + ] + } + ], + "comment": "Test transfer from GW" + } + ], + "balances": [ + { + "asset_id": "d6329b5b1f7c0805b5c345f4957554002a2f557845f64d7645dae0e051a6498a", + "amount": 990000000000 + } + ] + } +} +``` + +Transactions are grouped by `payment_id`, and within each group - by `asset_id`. The `balances` field contains the current balances of the GW address at the time of the request. + +**Node.js - fetching history:** + +```javascript +async function getGatewayHistory(gwAddress, viewSecretKey, offset = 0, count = 50) { + const result = await callDaemonRpc('gateway_get_address_history', { + gateway_address: gwAddress, + gateway_view_secret_key: viewSecretKey, // pass to decrypt payment IDs + offset: offset, + count: count, + }); + + console.log('Total transactions:', result.total_transactions); + console.log('Current balances:', JSON.stringify(result.balances, null, 2)); + + for (const tx of result.transactions) { + console.log(`\nTX: ${tx.tx_hash} (block ${tx.height})`); + if (tx.comment) console.log(` Comment: ${tx.comment}`); + + for (const pidGroup of tx.subtransfers_by_pid) { + console.log(` Payment ID: ${pidGroup.payment_id || '(none)'}`); + for (const sub of pidGroup.subtransfers) { + console.log(` Asset ${sub.asset_id}: ${sub.is_income ? '+' : '-'}${sub.amount}`); + } + } + } + + return result; +} +``` + +### How it works internally + +1. The blockchain maintains an index: for each GW address, a list of related transaction hashes is stored +2. When a transaction is added to a block, all `txin_gateway` and `tx_out_gateway` referencing this GW address are automatically indexed +3. When history is requested, the daemon retrieves transactions by index and for each one determines: + - Incoming or outgoing transaction (by the presence of `txin_gateway` / `tx_out_gateway`) + - Decrypts payment ID (if `view_secret_key` is provided) + - Calculates balance changes per payment_id and asset_id + +--- + +## 6. Integrated GW addresses (payment_id) + +GW addresses support **integrated addresses** with embedded payment IDs, similar to regular Zano addresses. + +- Integrated GW addresses start with `gwiZ...` +- Payment ID: 8 bytes (16 hex characters) +- Created via daemon RPC `get_integrated_address`: + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "get_integrated_address", + "params": { + "regular_address": "gwZ5sqxb53vdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpnSgfC1v", + "payment_id": "1dfe5a88ff9effb3" + } +} +``` + +**Response:** + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "result": { + "integrated_address": "gwiZ92c1bNYdd7RjUoPoSWeELimisUGprEX3P8fhcQwc8Dw6xpk6AP3Pv4KbyNZJdF3y", + "payment_id": "1dfe5a88ff9effb3" + } +} +``` + +When sending funds to a `gwiZ...` address, the payment ID is automatically encrypted and included in the transaction. To decrypt it when retrieving history, the `view_secret_key` is needed. + +**Node.js - creating an integrated address:** + +```javascript +async function createIntegratedAddress(gwAddress, paymentId) { + const result = await callDaemonRpc('get_integrated_address', { + regular_address: gwAddress, + payment_id: paymentId, + }); + + console.log('Integrated address:', result.integrated_address); + console.log('Payment ID:', result.payment_id); + return result.integrated_address; +} +``` + +--- + +## 7. Complete node.js example (end-to-end) + +Below is a complete script that demonstrates the entire GW address lifecycle: key generation, registration, funding, transferring from GW, and reading history. + +**Prerequisites:** +- `zanod` running and synced (port 11211) +- `simplewallet` running with RPC enabled (`--rpc-bind-port=11112`) +- Wallet has at least ~110 ZANO for registration fee + test transfers + +```javascript +// npm i axios ethers @noble/ed25519 +const axios = require('axios'); +const { ethers } = require('ethers'); +const ed = require('@noble/ed25519'); + +const WALLET_RPC_URL = 'http://127.0.0.1:11112/json_rpc'; +const DAEMON_RPC_URL = 'http://127.0.0.1:11211/json_rpc'; + +const DEFAULT_FEE = 10_000_000_000; + +// ed25519 subgroup order L +const ED25519_L = (1n << 252n) + 27742317777372353535851937790883648493n; + +async function callWalletRpc(method, params = {}) { + const response = await axios.post(WALLET_RPC_URL, { + jsonrpc: '2.0', id: 0, method, params, + }); + if (response.data.error) { + throw new Error(`Wallet RPC [${method}]: ${JSON.stringify(response.data.error)}`); + } + return response.data.result; +} + +async function callDaemonRpc(method, params = {}) { + const response = await axios.post(DAEMON_RPC_URL, { + jsonrpc: '2.0', id: 0, method, params, + }); + if (response.data.error) { + throw new Error(`Daemon RPC [${method}]: ${JSON.stringify(response.data.error)}`); + } + return response.data.result; +} + +function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +function assertOk(result, methodName) { + if (result.status && result.status !== 'OK') { + throw new Error(`${methodName} returned status: ${result.status}`); + } +} + +async function waitForNextBlock(timeoutMs = 1800000) { + const startInfo = await callDaemonRpc('getinfo'); + const startHeight = startInfo.height; + console.log(` current height: ${startHeight}, waiting for next block...`); + const deadline = Date.now() + timeoutMs; + while (Date.now() < deadline) { + await sleep(5000); + const info = await callDaemonRpc('getinfo'); + if (info.height > startHeight) { + console.log(` new height: ${info.height}`); + return info.height; + } + } + throw new Error(`Timeout waiting for next block (stuck at height ${startHeight})`); +} + +function randomScalarLtL() { + while (true) { + const b = ethers.randomBytes(32); + const x = BigInt('0x' + Buffer.from(b).toString('hex')); + const s = x % ED25519_L; + if (s !== 0n) return s; + } +} + +function scalarToLe32Hex(s) { + const out = Buffer.alloc(32, 0); + let x = s; + for (let i = 0; i < 32; i++) { + out[i] = Number(x & 0xffn); + x >>= 8n; + } + return out.toString('hex'); +} + +function makeValidGwViewKeypair() { + const scalar = randomScalarLtL(); + const viewSecretKey = scalarToLe32Hex(scalar); + const viewPubKey = Buffer.from(ed.Point.BASE.multiply(scalar).toBytes()).toString('hex'); + return { viewSecretKey, viewPubKey }; +} + +async function main() { + try { + console.log('=== Key Generation ==='); + + const { viewSecretKey, viewPubKey } = makeValidGwViewKeypair(); + const ownerWallet = ethers.Wallet.createRandom(); + const ownerEthPubKey = ethers.SigningKey.computePublicKey(ownerWallet.privateKey, true).substring(2); + + console.log('View public key:', viewPubKey); + console.log('View secret key:', viewSecretKey); + console.log('Owner ETH private key:', ownerWallet.privateKey); + console.log('Owner ETH public key:', ownerEthPubKey); + + console.log('\n=== Registration (fee 100 ZANO) ==='); + + const regResult = await callWalletRpc('register_gateway_address', { + view_pub_key: viewPubKey, + descriptor_info: { + opt_owner_ecdsa_pub_key: ownerEthPubKey, + meta_info: 'Example GW address for documentation', + }, + }); + + const gwAddress = regResult.address; + const gwAddressId = regResult.address_id; + console.log('GW address:', gwAddress); + console.log('Address ID:', gwAddressId); + console.log('Registration TX:', regResult.tx_id); + + console.log('\nWaiting for block confirmation...'); + await waitForNextBlock(); + + const addressInfo = await callDaemonRpc('gateway_get_address_info', { + gateway_address: gwAddress, + }); + assertOk(addressInfo, 'gateway_get_address_info'); + console.log('Registration confirmed!'); + console.log('Descriptor:', JSON.stringify(addressInfo.descriptor_info, null, 2)); + console.log('Balances:', JSON.stringify(addressInfo.balances)); + + console.log('\n=== Sending 2 ZANO to GW address ==='); + + const sendToResult = await callWalletRpc('transfer', { + destinations: [{ amount: 2_000_000_000_000, address: gwAddress }], + fee: DEFAULT_FEE, + }); + console.log('Sent to GW, tx_hash:', sendToResult.tx_hash); + + console.log('Waiting for block confirmation...'); + await waitForNextBlock(); + + const updatedInfo = await callDaemonRpc('gateway_get_address_info', { + gateway_address: gwAddress, + }); + assertOk(updatedInfo, 'gateway_get_address_info'); + console.log('GW balances after funding:', JSON.stringify(updatedInfo.balances, null, 2)); + + console.log('\n=== Sending 1 ZANO from GW address ==='); + + const walletInfo = await callWalletRpc('getaddress'); + const recipientAddress = walletInfo.address; + console.log('Recipient (own wallet):', recipientAddress); + + const totalAmount = 1_000_000_000_000; + const createResult = await callDaemonRpc('gateway_create_transfer', { + origin_gateway_id: gwAddressId, + destinations: [ + { amount: totalAmount - 1, address: recipientAddress }, + { amount: 1, address: recipientAddress }, + ], + fee: DEFAULT_FEE, + comment: 'Test transfer from GW', + }); + assertOk(createResult, 'gateway_create_transfer'); + console.log('TX hash to sign:', createResult.tx_hash_to_sign); + + // sign with ETH private key (ECDSA secp256k1, low-s normalized) + const bytesToSign = ethers.getBytes('0x' + createResult.tx_hash_to_sign); + const sig = ownerWallet.signingKey.sign(bytesToSign); + const ethSignature = sig.r.slice(2) + sig.s.slice(2); // r||s, 128 hex = 64 bytes + console.log('Signature (128 hex):', ethSignature); + + const signResult = await callDaemonRpc('gateway_sign_transfer', { + tx_blob: createResult.tx_blob, + tx_hash_to_sign: createResult.tx_hash_to_sign, + opt_ecdsa_signature: ethSignature, + }); + assertOk(signResult, 'gateway_sign_transfer'); + console.log('Transaction signed, blob length:', signResult.signed_tx_blob.length); + + const broadcastResult = await callDaemonRpc('sendrawtransaction', { + tx_as_hex: signResult.signed_tx_blob, + }); + if (broadcastResult.status !== 'OK') { + throw new Error(`Broadcast failed: ${broadcastResult.status}`); + } + console.log('Broadcast OK!'); + + console.log('Waiting for block confirmation...'); + await waitForNextBlock(); + + console.log('\n=== Creating integrated GW address ==='); + + const integratedResult = await callDaemonRpc('get_integrated_address', { + regular_address: gwAddress, + payment_id: '1dfe5a88ff9effb3', + }); + console.log('Integrated address:', integratedResult.integrated_address); + console.log('Payment ID:', integratedResult.payment_id); + + console.log('\n=== Fetching transaction history ==='); + + const history = await callDaemonRpc('gateway_get_address_history', { + gateway_address: gwAddress, + gateway_view_secret_key: viewSecretKey, + offset: 0, + count: 50, + }); + + console.log('Total transactions:', history.total_transactions); + console.log('Current balances:', JSON.stringify(history.balances, null, 2)); + + for (const tx of history.transactions) { + console.log(`\nTX: ${tx.tx_hash} (block ${tx.height})`); + if (tx.comment) console.log(` Comment: ${tx.comment}`); + for (const pidGroup of tx.subtransfers_by_pid) { + console.log(` Payment ID: ${pidGroup.payment_id || '(none)'}`); + for (const sub of pidGroup.subtransfers) { + console.log(` Asset ${sub.asset_id}: ${sub.is_income ? '+' : '-'}${sub.amount}`); + } + } + } + + console.log('\nDone!'); + } catch (error) { + console.error('\nERROR:', error.message); + if (error.response) { + console.error('Response data:', JSON.stringify(error.response.data, null, 2)); + } + } +} + +main(); +``` + +--- + +## API quick reference + +| Method | RPC type | Description | +|---|---|---| +| [register_gateway_address](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/register_gateway_address) | Wallet RPC | Register a new GW address (fee: 100 ZANO) | +| [gateway_get_address_info](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info) | Daemon RPC | Get information and balances of a GW address | +| [gateway_create_transfer](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer) | Daemon RPC | Create an unsigned transaction from a GW address | +| [gateway_sign_transfer](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer) | Daemon RPC | Sign a transaction with owner key | +| [sendrawtransaction](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction) | Daemon RPC | Broadcast a signed transaction to the network | +| [gateway_get_address_history](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history) | Daemon RPC | Get GW address transaction history (requires view key for decryption) | +| [get_integrated_address](https://docs.zano.org/docs/build/rpc-api/daemon-rpc-api/get_integrated_address) | Daemon RPC | Create an integrated `gwiZ...` address with payment ID | +| [transfer](https://docs.zano.org/docs/build/rpc-api/wallet-rpc-api/transfer) | Wallet RPC | Send funds TO a GW address (standard method) | diff --git a/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md b/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md new file mode 100644 index 0000000..29e3f6e --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/alias_lookup.md @@ -0,0 +1,50 @@ +Give an estimation of block height by the given date. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "alias_lookup", + "params": { + "alias_first_leters": "al", + "n_of_items_to_return": 10 + } +} +``` +### Request description: +``` + "alias_first_leters": Prefix by which the search will be performed. + "n_of_items_to_return": Maximum number of elements returned (not bigger then 10) + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "aliases": [{ + "address": "ZxCSpsGGeJsS8fwvQ4HktDU3qBeauoJTR6j73jAWWZxFXdF7XTbGm4YfS2kXJmAP4Rf5BVsSQ9iZ45XANXEYsrLN2L2W77dH7", + "alias": "zxdya6q6whzwqjkmtcsjpc3ku", + "comment": "Society is never gonna make any progress until we all learn to pretend to like each other.", + "tracking_key": "18bb94f69ed61b47b6556f3871b89dff8f9a6f4f798f706fd199b05ccf8ef20c" + }], + "error_code": "", + "status": "OK" + } +} +``` +### Response description: +``` + "aliases": List of alias_rpc_details objects, each containing detailed information about each alias registered to the specified address. + "address": Address of the alias. + "alias": Alias itself, a brief shortcut for an address. + "comment": Arbitrary comment (optional). + "tracking_key": View secret key of the corresponding address (optional). + "error_code": Error code, if any. + "status": Status of the call. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md b/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md index 33ba4bd..9f6d043 100644 --- a/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/check_keyimages.bin.md @@ -23,4 +23,4 @@ URL: ```http:://127.0.0.1:11211/check_keyimages.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md b/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md index 311dce4..6bae0aa 100644 --- a/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/decrypt_tx_details.md @@ -33,7 +33,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", "amount": 10000000000000, "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "out_index": 1 + "out_index": 1, + "payment_id": 0 }], "status": "OK", "tx_in_json": "ewogICJ2ZXJzaW9uIjogMSwgC....iAgInZpbiI6IFsgewogICAgIC", @@ -48,9 +49,10 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "amount": Amount begin transferred. "asset_id": Asset id. "out_index": Index of the corresponding output in the transaction. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "status": Status code of operation, OK if success "tx_in_json": Serialized transaction represented in JSON, encoded in Base64. "verified_tx_id": (Re)calculated transaction id. Can be used in third-party proof generation. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md b/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md index dd6026f..8bb8c96 100644 --- a/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md +++ b/docs/build/rpc-api/daemon-rpc-api/find_outs_in_recent_blocks.md @@ -33,6 +33,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "amount": 1000000000000, "asset_id": "cc4e69455e63f4a581257382191de6856c2156630b3fba0db4bdd73ffcfb36b6", "output_tx_index": 2, + "payment_id": 0, "tx_block_height": 2555000, "tx_id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8" }], @@ -48,9 +49,10 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "amount": The amount of the output. "asset_id": Asset ID of the output. "output_tx_index": Index of the output in the transaction. + "payment_id": [optional] 8-bytes long intrinsic payment id "tx_block_height": Block height where the transaction is present. "tx_id": Transaction ID where the output is present, if found. "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/force_relay.md b/docs/build/rpc-api/daemon-rpc-api/force_relay.md index dd06743..20c31b2 100644 --- a/docs/build/rpc-api/daemon-rpc-api/force_relay.md +++ b/docs/build/rpc-api/daemon-rpc-api/force_relay.md @@ -23,4 +23,4 @@ URL: ```http:://127.0.0.1:11211/force_relay``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md b/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md new file mode 100644 index 0000000..58da791 --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_create_transfer.md @@ -0,0 +1,69 @@ +Initiates a transfer from gateway address. Create tx that need to be signed. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "gateway_create_transfer", + "params": { + "comment": "Some comment", + "destinations": [{ + "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", + "amount": 10000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "payment_id": 1020394 + }], + "fee": 100000000, + "origin_gateway_id": "gateway1qxyz...", + "service_entries": [{ + "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", + "flags": 0, + "instruction": "K", + "security": "d8f6e37f28a632c06b0b3466db1b9d2d1b36a580ee35edfd971dc1423bc412a5", + "service_id": "C" + }], + "service_entries_permanent": false + } +} +``` +### Request description: +``` + "comment": Comment for the gateway transfer. + "destinations": Details of the gateway transfer destinations. + "address": Destination address + "amount": Amount to transfer to destination + "asset_id": Asset id to transfer + "payment_id": [optional] Intrinsic 8-byte payment id for this destination. Incompatible with integrated addresses. + "fee": Transaction fee for the gateway transfer. + "origin_gateway_id": Origin gateway ID for the transfer. + "service_entries": Service entries for the gateway transfer. + "body": Hex-encoded body of the attachment + "flags": Flags that help wallet to automatically process some properties of the attachment(combination of TX_SERVICE_ATTACHMENT_ENCRYPT_BODY=1, TX_SERVICE_ATTACHMENT_DEFLATE_BODY=2, TX_SERVICE_ATTACHMENT_ENCRYPT_BODY_ISOLATE_AUDITABLE=4,TX_SERVICE_ATTACHMENT_ENCRYPT_ADD_PROOF=8 ) + "instruction": Instruction that make sence for this particular service + "security": Hex-encoded public key of the owner, optional + "service_id": Service ID, identificator that diferent one service from another + "service_entries_permanent": Whether the service entries are permanent. + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "status": "OK", + "tx_blob": "0100000001...", + "tx_hash_to_sign": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8" + } +} +``` +### Response description: +``` + "status": Status of the call. + "tx_blob": Hex representation of the transaction blob. + "tx_hash_to_sign": Hash of the transaction created for the gateway transfer. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md new file mode 100644 index 0000000..583a9b0 --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_history.md @@ -0,0 +1,144 @@ +Retrieves the transaction history for a specific gateway address. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "gateway_get_address_history", + "params": { + "count": 10, + "gateway_address": "gateway1qxyz...", + "gateway_view_secret_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "offset": 0 + } +} +``` +### Request description: +``` + "count": The number of transactions to retrieve from the specified offset. + "gateway_address": The gateway address for which transaction history is being requested. + "gateway_view_secret_key": View secret key to decrypt attachments and payment id + "offset": The offset in the transaction history from which to start retrieval. + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "balances": [{ + "amount": 100000000, + "asset_id": "729811f9340537e8d5641949e6cc58261f91f109687a706f39bae9514757e819" + }], + "status": "OK", + "total_transactions": 100, + "transactions": [{ + "ado": { + "operation_type": 1, + "opt_amount_commitment": "5688b56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "opt_asset_id": "cc4e69455e63f4a581257382191de6856c2156630b3fba0db4bdd73ffcfb36b6", + "version": 2 + }, + "comment": "Comment here", + "contract": [{ + "cancel_expiration_time": 0, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000000", + "expiration_time": 0, + "height": 0, + "is_a": false, + "payment_id": "", + "private_detailes": { + "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_pledge": 0, + "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_pledge": 0, + "c": "", + "t": "", + "to_pay": 0 + }, + "state": 0, + "timestamp": 0 + }], + "employed_entries": { + }, + "fee": 10000000000, + "height": 0, + "is_mining": false, + "is_mixing": false, + "is_service": false, + "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_aliases": ["roger"], + "service_entries": [{ + "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", + "flags": 0, + "instruction": "K", + "security": "d8f6e37f28a632c06b0b3466db1b9d2d1b36a580ee35edfd971dc1423bc412a5", + "service_id": "C" + }], + "show_sender": false, + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] + }], + "timestamp": 1712590951, + "transfer_internal_index": 12, + "tx_blob_size": 0, + "tx_hash": "5509650e12c8f901e6731a2bfaf3abfd64409e3e1366d3d94cd11db8beddb0c3", + "tx_type": 0, + "unlock_time": 0 + }] + } +} +``` +### Response description: +``` + "balances": List of balances for different asset_id associated with the gateway address at the time of the request. + "amount": The amount of the specified currency in the gateway balance entry. + "asset_id": The asset ID for the gateway balance entry. + "status": Status of the call. + "total_transactions": Total number of transactions associated with the specified gateway address. + "transactions": List of transactions associated with the specified gateway address, retrieved based on the provided parameters. + "ado": "Asset Descriptor Operation" if it was present in transaction + "operation_type": Asset operation type identifier + "opt_amount_commitment": (optional) Asset operation amount commitment (register/emit/burn). + "opt_asset_id": (optional) ID of an asset (emit/burn/update). + "version": Asset operation type struct version + "comment": Some human-readable comment + "contract": Escrow contract if it's part of transaction + "employed_entries": Mark entries from transaction that was connected to this wallet + "fee": Transaction fee + "height": Height of the block that included transaction(0 i transaction is unconfirmed) + "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) + "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) + "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) + "remote_aliases": Aliases for remot addresses, of discovered + "service_entries": Additional entries that might be stored in transaction but not part of it's consensus + "body": Hex-encoded body of the attachment + "flags": Flags that help wallet to automatically process some properties of the attachment(combination of TX_SERVICE_ATTACHMENT_ENCRYPT_BODY=1, TX_SERVICE_ATTACHMENT_DEFLATE_BODY=2, TX_SERVICE_ATTACHMENT_ENCRYPT_BODY_ISOLATE_AUDITABLE=4,TX_SERVICE_ATTACHMENT_ENCRYPT_ADD_PROOF=8 ) + "instruction": Instruction that make sence for this particular service + "security": Hex-encoded public key of the owner, optional + "service_id": Service ID, identificator that diferent one service from another + "show_sender": If sender is included in tx + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing + "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed + "transfer_internal_index": Index of this entry in the wallet's array of transaction's history + "tx_blob_size": Size of transaction in bytes + "tx_hash": Transaction ID(hash) + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 + "unlock_time": Unlock time of this transfer (if present) + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md new file mode 100644 index 0000000..4fa943d --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_get_address_info.md @@ -0,0 +1,57 @@ +Retrieves information about a gateway address. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "gateway_get_address_info", + "params": { + "gateway_address": "gateway1qxyz..." + } +} +``` +### Request description: +``` + "gateway_address": The gateway address for which information is being requested. + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "balances": [{ + "amount": 100000000, + "asset_id": "729811f9340537e8d5641949e6cc58261f91f109687a706f39bae9514757e819" + }], + "descriptor_info": { + "meta_info": "Some metadata", + "opt_owner_custom_schnorr_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "opt_owner_ecdsa_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8e2", + "opt_owner_eddsa_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8" + }, + "gateway_view_pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", + "payment_id": "4cf2c7c7e16d1a2a", + "status": "OK" + } +} +``` +### Response description: +``` + "balances": List of balances for different asset_id associated with the gateway address. + "amount": The amount of the specified currency in the gateway balance entry. + "asset_id": The asset ID for the gateway balance entry. + "descriptor_info": Information about the specified gateway address. + "meta_info": Additional metadata about the gateway + "opt_owner_custom_schnorr_pub_key": owner's custom Schnorr signature public key + "opt_owner_ecdsa_pub_key": owner's Ethereum public key + "opt_owner_eddsa_pub_key": owner's EdDSA public key + "gateway_view_pub_key": Gateway view public key associated with the gateway address. + "payment_id": Payment ID associated with the gateway address. + "status": Status of the call. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md b/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md new file mode 100644 index 0000000..cde13df --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/gateway_sign_transfer.md @@ -0,0 +1,45 @@ +Signs a transfer from gateway address. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "gateway_sign_transfer", + "params": { + "opt_custom_schnorr_signature": "b1c3d4e5f60718293a4b5c6d7e8f90123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01", + "opt_ecdsa_signature": "b1c3d4e5f60718293a4b5c6d7e8f90123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123", + "opt_eddsa_signature": "b1c3d4e5f60718293a4b5c6d7e8f90123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01", + "tx_blob": "0100000001...", + "tx_hash_to_sign": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8" + } +} +``` +### Request description: +``` + "opt_custom_schnorr_signature": Custom Schnorr signature for signing the transaction. + "opt_ecdsa_signature": Ethereum signature for signing the transaction. + "opt_eddsa_signature": EdDSA signature for signing the transaction. + "tx_blob": Hex representation of the transaction blob to sign. + "tx_hash_to_sign": Hash of the transaction to sign. + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "signed_tx_blob": "0100000001...", + "status": "OK" + } +} +``` +### Response description: +``` + "signed_tx_blob": Hex representation of the signed transaction blob. + "status": Status of the call. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md index 59cc33b..6378993 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_by_address.md @@ -40,4 +40,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md index 1ad80c6..bac9fb4 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_details.md @@ -41,4 +41,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md b/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md index 749f839..f38afe5 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alias_reward.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_aliases.md b/docs/build/rpc-api/daemon-rpc-api/get_aliases.md index d9c2815..8e97bc5 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_aliases.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_aliases.md @@ -54,4 +54,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md b/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md index ff4db01..b6ba499 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_all_alias_details.md @@ -50,4 +50,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md b/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md index 8cb3779..4e5e327 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_all_pool_tx_list.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md index 2fab622..f7a182c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alt_block_details.md @@ -65,8 +65,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -74,9 +75,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -127,17 +131,21 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. @@ -145,4 +153,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md b/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md index ba93da7..1dcf97d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_alt_blocks_details.md @@ -67,8 +67,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -76,9 +77,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -129,17 +133,21 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. @@ -147,4 +155,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md b/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md index fe2dc3c..30ca95d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_asset_info.md @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md b/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md index afe4352..a5eeafd 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_assets_list.md @@ -57,4 +57,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status code of operation, OK if success ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md b/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md index 31ca98a..5d9c800 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_blocks_details.md @@ -68,8 +68,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -77,9 +78,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -130,17 +134,21 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. @@ -148,4 +156,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md b/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md index 86b07b8..9a634f2 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_current_core_tx_expiration_median.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md b/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md index 08ee8e9..c420ef4 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_est_height_from_date.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md b/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md index 0c3d9aa..c024b9b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_integrated_address.md @@ -26,7 +26,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "result": { "integrated_address": "iZ2EMyPD7g28hgBfboZeCENaYrHBYZ1bLFi5cgWvn4WJLaxfgs4kqG6cJi9ai2zrXWSCpsvRXit14gKjeijx6YPCLJEv6Fx4rVm1hdAGQFis", - "payment_id": "1dfe5a88ff9effb3" + "payment_id": "1dfe5a88ff9effb3", + "status": "OK" } } ``` @@ -34,6 +35,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` ``` "integrated_address": Integrated address combining a standard address and payment ID, if applicable. "payment_id": Payment ID associated with the this address. + "status": Status ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md b/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md index 4866d4d..b45450e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_main_block_details.md @@ -65,8 +65,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -74,9 +75,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -127,17 +131,21 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. @@ -145,4 +153,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md b/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md index 85a47bb..2aa76c4 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_multisig_info.md @@ -36,4 +36,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Transaction ID where the multisig output is present, if found. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md index 783bb72..23c94d5 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_o_indexes.bin.md @@ -21,4 +21,4 @@ URL: ```http:://127.0.0.1:11211/get_o_indexes.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_out_info.md b/docs/build/rpc-api/daemon-rpc-api/get_out_info.md index e6d794b..ec03f3d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_out_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_out_info.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Transaction ID where the queried output is present, if found. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md index d3d6600..5dcf551 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_info.md @@ -43,4 +43,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status code, OK if succeeded. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md index 3dde565..c92df7d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_brief_details.md @@ -43,4 +43,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_amount": Total amount transferred in the transaction (legacy, for pre-Zarcanum txs). ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md index 14c7c57..3444058 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pool_txs_details.md @@ -42,8 +42,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -51,9 +52,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -81,20 +85,24 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md index 06058d3..8d87abc 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_pos_details.bin.md @@ -31,4 +31,4 @@ URL: ```http:://127.0.0.1:11211/get_pos_details.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md b/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md index f4e7027..fef627c 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_tx_details.md @@ -42,8 +42,9 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": "a6e8da986858e6825fce7a192097e6afae4e889cabe853a9c29b964985b23da8", "ins": [{ "amount": 1000000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_indexes": [0,2,12,27], - "htlc_origin": "", + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "kimage_or_ms_id": "2540e0544b1fed3b104976f803dbd83681335c427f9d601d9d5aecf86ef276d2", "multisig_count": 0 }], @@ -51,9 +52,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "object_in_json": "ewogICJ2ZXJzaW9uIjogMSwgCiAgInZpbiI6IFsgewogICAgIC", "outs": [{ "amount": 9000000000, + "asset_id": "7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323", "global_index": 0, + "gw_addr": "gwZ5sqZkre33rxhoo9ht5xcmzy5khvr2hFSfvk7TeXeMXxby7acC3fs1D", "is_spent": false, "minimum_sigs": 0, + "payment_id": 0, "pub_keys": ["7d0c755e7e24a241847176c9a3cf4c970bcd6377018068abe6fe4535b23f5323"] }], "pub_key": "0feef5e2ea0e88b592c0a0e6639ce73e12ea9b3136d89464748fcb60bb6f18f5", @@ -81,20 +85,24 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": Hash of the transaction. "ins": Inputs of the transaction. "amount": The amount of coins being transacted. - "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent. - "htlc_origin": Origin hash for HTLC (Hash Time Locked Contract). - "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, depending on the input type. + "asset_id": [optional] Asset ID (for txin_gateway only) + "global_indexes": List of global indexes indicating the outputs referenced by this input, where only one is actually being spent (only for txin_zc_input). + "gw_addr": [optional] Gateway source address (for txin_gateway only) + "kimage_or_ms_id": Contains either the key image for the input or the multisig output ID, or gateway address, depending on the input type. "multisig_count": Number of multisig signatures used, relevant only for multisig outputs. "keeper_block": Block height where the transaction is confirmed, or -1 if it is unconfirmed. "object_in_json": Serialized transaction represented in JSON, encoded in Base64. "outs": Outputs of the transaction. "amount": The output's amount, 0 for ZC outputs. + "asset_id": [optional] Asset ID (for tx_out_gateway only) "global_index": Global index of the output for this specific amount. + "gw_addr": [optional] Gateway destination address (for tx_out_gateway only) "is_spent": Indicates whether the output has been spent. "minimum_sigs": Minimum number of signatures required to spend the output, for multisig outputs only. + "payment_id": [optional] Intrinsic per-output 8 byte long payment id "pub_keys": List of public keys associated with the output. "pub_key": Public key associated with the transaction. "timestamp": Timestamp when the transaction was created. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md b/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md index 6d25031..601d0b8 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_tx_pool.bin.md @@ -25,4 +25,4 @@ URL: ```http:://127.0.0.1:11211/get_tx_pool.bin``` "txs": Transactions as blobs. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/get_votes.md b/docs/build/rpc-api/daemon-rpc-api/get_votes.md index c1c5bdf..f59e1a8 100644 --- a/docs/build/rpc-api/daemon-rpc-api/get_votes.md +++ b/docs/build/rpc-api/daemon-rpc-api/get_votes.md @@ -57,4 +57,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "yes": Nubmer of positve votes. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockcount.md b/docs/build/rpc-api/daemon-rpc-api/getblockcount.md index 41b8944..7b9ae5d 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockcount.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockcount.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md index 8b1eca6..6fce972 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyhash.md @@ -57,4 +57,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md index 2e64149..51dd7f1 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblockheaderbyheight.md @@ -57,4 +57,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md b/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md index fcf1d61..a27d0a5 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblocks.bin.md @@ -33,4 +33,4 @@ URL: ```http:://127.0.0.1:11211/getblocks.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md b/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md index 5f6e143..90c1c0e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md +++ b/docs/build/rpc-api/daemon-rpc-api/getblocktemplate.md @@ -68,6 +68,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "real_in_asset_id_blinding_mask_x_amount_sum": "0000000000000000000000000000000000000000000000000000000000000000", "real_zc_ins_asset_ids": "", "tx_key": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tx_outs_attr": 0, "tx_pub_key_p": "00000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "prev_hash": "ae73338b7927df71b6ed477937625c230172219306750ba97995fb5109dda703", @@ -91,4 +92,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "txs_fee": Total fees from transactions included in the block. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getheight.md b/docs/build/rpc-api/daemon-rpc-api/getheight.md index 3594e86..336d3b5 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getheight.md +++ b/docs/build/rpc-api/daemon-rpc-api/getheight.md @@ -23,4 +23,4 @@ URL: ```http:://127.0.0.1:11211/getheight``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getinfo.md b/docs/build/rpc-api/daemon-rpc-api/getinfo.md index 17173c1..ce244d7 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getinfo.md +++ b/docs/build/rpc-api/daemon-rpc-api/getinfo.md @@ -115,6 +115,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "pos_sequence_factor": 0, "pow_difficulty": 12777323347117, "pow_sequence_factor": 1, + "pre_hf_tx_freeze_period_active": false, "seconds_for_10_blocks": 476, "seconds_for_30_blocks": 1264, "status": "OK", @@ -178,6 +179,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "pos_sequence_factor": The current PoS sequence factor, representing the number of consecutive PoS blocks. This information is only provided if the COMMAND_RPC_GET_INFO_FLAG_POS_SEQUENCE_FACTOR flag is set. "pow_difficulty": Current difficulty for Proof of Work mining. "pow_sequence_factor": The current PoW sequence factor, representing the number of consecutive PoW blocks. This information is only provided if the COMMAND_RPC_GET_INFO_FLAG_POW_SEQUENCE_FACTOR flag is set. + "pre_hf_tx_freeze_period_active": Boolean value indicating whether tx sending is temporarly stopped because a hardfork is coming. "seconds_for_10_blocks": The time period in seconds between the most recent block and the 10th block older. This information is only provided if the COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_10_BLOCKS flag is set. "seconds_for_30_blocks": The time period in seconds between the most recent block and the 30th block older. This information is only provided if the COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_30_BLOCKS flag is set. "status": Status of the call. @@ -193,4 +195,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "white_peerlist_size": Size of the white peer list, which includes addresses of reliable nodes. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md b/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md index a58d9b1..30bf411 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md +++ b/docs/build/rpc-api/daemon-rpc-api/getlastblockheader.md @@ -54,4 +54,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md index d258357..4413e6f 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.bin.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/getrandom_outs.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md index 5d5ba2b..97c08d0 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs.md @@ -41,4 +41,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md index 19a938f..beaea95 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.bin.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/getrandom_outs1.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md index 08446b9..f6b3131 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs1.md @@ -43,4 +43,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md index b091515..4b856d0 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.bin.md @@ -39,4 +39,4 @@ URL: ```http:://127.0.0.1:11211/getrandom_outs3.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md index 23b62d6..5267713 100644 --- a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs3.md @@ -48,4 +48,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md new file mode 100644 index 0000000..3b75398 --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.bin.md @@ -0,0 +1,38 @@ +Version 4 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. + +URL: ```http:://127.0.0.1:11211/getrandom_outs4.bin``` +### Request: +```json +{ + "batches": [{ + "heights": [0], + "input_amount": 1000000 + }], + "height_upper_limit": 2555000, + "look_up_strategy": "LOOK_UP_STRATEGY_REGULAR_TX" +} +``` +### Request description: +``` + "batches": List of request batches, each containing an amount and corresponding heights to be processed. + "heights": Array of heights to be processed in the batch. + "input_amount": Amount to be processed in the batch. + "height_upper_limit": Maximum blockchain height from which decoys can be taken. If nonzero, decoys must be at this height or older. + "look_up_strategy": LOOK_UP_STRATEGY_REGULAR_TX or LOOK_UP_STRATEGY_POS_COINBASE + +``` +### Response: +```json +{ + "blocks_batches": [{ + }], + "status": "OK" +} +``` +### Response description: +``` + "blocks_batches": Blocks collected by node + "status": Status of the call. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md new file mode 100644 index 0000000..945715f --- /dev/null +++ b/docs/build/rpc-api/daemon-rpc-api/getrandom_outs4.md @@ -0,0 +1,47 @@ +Version 4 of the command to retrieve random decoy outputs for specified amounts, focusing on either pre-zarcanum or post-zarcanum zones based on the amount value. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "getrandom_outs4", + "params": { + "batches": [{ + "heights": [0], + "input_amount": 1000000 + }], + "height_upper_limit": 2555000, + "look_up_strategy": "LOOK_UP_STRATEGY_REGULAR_TX" + } +} +``` +### Request description: +``` + "batches": List of request batches, each containing an amount and corresponding heights to be processed. + "heights": Array of heights to be processed in the batch. + "input_amount": Amount to be processed in the batch. + "height_upper_limit": Maximum blockchain height from which decoys can be taken. If nonzero, decoys must be at this height or older. + "look_up_strategy": LOOK_UP_STRATEGY_REGULAR_TX or LOOK_UP_STRATEGY_POS_COINBASE + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "blocks_batches": [{ + }], + "status": "OK" + } +} +``` +### Response description: +``` + "blocks_batches": Blocks collected by node + "status": Status of the call. + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/gettransactions.md b/docs/build/rpc-api/daemon-rpc-api/gettransactions.md index 06e532a..5632c8b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/gettransactions.md +++ b/docs/build/rpc-api/daemon-rpc-api/gettransactions.md @@ -27,4 +27,4 @@ URL: ```http:://127.0.0.1:11211/gettransactions``` "txs_as_hex": Transactions stored as blobs ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md b/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md index 2b984d8..ba949e6 100644 --- a/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md +++ b/docs/build/rpc-api/daemon-rpc-api/marketplace_global_get_offers_ex.md @@ -116,4 +116,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_offers": Total number of offers. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md b/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md index 7a8aba5..95eeaf8 100644 --- a/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md +++ b/docs/build/rpc-api/daemon-rpc-api/on_getblockhash.md @@ -26,4 +26,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` ``` ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/remove_tx_from_pool.md b/docs/build/rpc-api/daemon-rpc-api/remove_tx_from_pool.md deleted file mode 100644 index 8913bb1..0000000 --- a/docs/build/rpc-api/daemon-rpc-api/remove_tx_from_pool.md +++ /dev/null @@ -1,35 +0,0 @@ -Removes specified transactions from the transaction pool, typically to clear out transactions that are no longer valid or needed. - -URL: ```http:://127.0.0.1:11211/json_rpc``` -### Request: -```json -{ - "id": 0, - "jsonrpc": "2.0", - "method": "remove_tx_from_pool", - "params": { - "tx_to_remove": ["c5efacd06128fc5a73f58392c84534cd1a146de7d47ffbe770486cce5130dc1f","c2f0de2ef4753dc0ec8dd2da5ebf8e77f07d2ac0791357a9e3f2537071b33762"] - } -} -``` -### Request description: -``` - "tx_to_remove": List of transaction IDs that are to be removed from the transaction pool. - -``` -### Response: -```json -{ - "id": 0, - "jsonrpc": "2.0", - "result": { - "status": "OK" - } -} -``` -### Response description: -``` - "status": Status of the call. - -``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/reset_transaction_pool.md b/docs/build/rpc-api/daemon-rpc-api/reset_transaction_pool.md deleted file mode 100644 index ce995ab..0000000 --- a/docs/build/rpc-api/daemon-rpc-api/reset_transaction_pool.md +++ /dev/null @@ -1,33 +0,0 @@ -Clears transaction pool. - -URL: ```http:://127.0.0.1:11211/json_rpc``` -### Request: -```json -{ - "id": 0, - "jsonrpc": "2.0", - "method": "reset_transaction_pool", - "params": { - } -} -``` -### Request description: -``` - -``` -### Response: -```json -{ - "id": 0, - "jsonrpc": "2.0", - "result": { - "status": "OK" - } -} -``` -### Response description: -``` - "status": Status of the call. - -``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/search_by_id.md b/docs/build/rpc-api/daemon-rpc-api/search_by_id.md index 9715f30..41bf3af 100644 --- a/docs/build/rpc-api/daemon-rpc-api/search_by_id.md +++ b/docs/build/rpc-api/daemon-rpc-api/search_by_id.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "types_found": List of entity types where the identifier was found. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md b/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md index dd31335..e47646e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md +++ b/docs/build/rpc-api/daemon-rpc-api/sendrawtransaction.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md b/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md index f0c439b..68f7e8f 100644 --- a/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md +++ b/docs/build/rpc-api/daemon-rpc-api/set_maintainers_info.bin.md @@ -23,4 +23,4 @@ URL: ```http:://127.0.0.1:11211/set_maintainers_info.bin``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/submitblock.md b/docs/build/rpc-api/daemon-rpc-api/submitblock.md index e6e1180..f8fc93b 100644 --- a/docs/build/rpc-api/daemon-rpc-api/submitblock.md +++ b/docs/build/rpc-api/daemon-rpc-api/submitblock.md @@ -29,4 +29,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/submitblock2.md b/docs/build/rpc-api/daemon-rpc-api/submitblock2.md index 7b22ab3..c7bc71e 100644 --- a/docs/build/rpc-api/daemon-rpc-api/submitblock2.md +++ b/docs/build/rpc-api/daemon-rpc-api/submitblock2.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/daemon-rpc-api/validate_signature.md b/docs/build/rpc-api/daemon-rpc-api/validate_signature.md index 1e8cba8..9e17fa0 100644 --- a/docs/build/rpc-api/daemon-rpc-api/validate_signature.md +++ b/docs/build/rpc-api/daemon-rpc-api/validate_signature.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md index eb6e45f..3214fa0 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_add.md @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the asset ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md index a11ffab..1c2d655 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_get.md @@ -97,4 +97,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_max_supply": Maximum possible supply for a given asset, cannot be changed after deployment. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md index 4e29331..28812b8 100644 --- a/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md +++ b/docs/build/rpc-api/wallet-rpc-api/assets_whitelist_remove.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Command result (OK if success) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md b/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md index dc43992..bacdf85 100644 --- a/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md +++ b/docs/build/rpc-api/wallet-rpc-api/attach_asset_descriptor.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/burn_asset.md b/docs/build/rpc-api/wallet-rpc-api/burn_asset.md index ad89149..05feae5 100644 --- a/docs/build/rpc-api/wallet-rpc-api/burn_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/burn_asset.md @@ -51,4 +51,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that carries asset burn operation ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md b/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md index 2ea814c..7aa15cc 100644 --- a/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md +++ b/docs/build/rpc-api/wallet-rpc-api/clear_utxo_cold_sig_reservation.md @@ -35,4 +35,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Status of the call ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md b/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md index 3c43af3..0f5afc4 100644 --- a/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md +++ b/docs/build/rpc-api/wallet-rpc-api/decrypt_data.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "res_buff": base64 encoded resulted data message ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md b/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md index 61b566a..4e1be27 100644 --- a/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/deploy_asset.md @@ -22,7 +22,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "destinations": [{ "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", "amount": 10000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852" + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "payment_id": 1020394 }], "do_not_split_destinations": false } @@ -44,6 +45,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "address": Destination address "amount": Amount to transfer to destination "asset_id": Asset id to transfer + "payment_id": [optional] Intrinsic 8-byte payment id for this destination. Incompatible with integrated addresses. "do_not_split_destinations": If true, the provided destinations will be used as-is and won't be splitted (or altered) to avoid common issues. Default is false. ``` @@ -64,4 +66,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that carries asset registration command, asset would be registered as soon as transaction got confirmed ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/emit_asset.md b/docs/build/rpc-api/wallet-rpc-api/emit_asset.md index 1ff2c30..6f97aac 100644 --- a/docs/build/rpc-api/wallet-rpc-api/emit_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/emit_asset.md @@ -12,7 +12,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "destinations": [{ "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", "amount": 10000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852" + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "payment_id": 1020394 }], "do_not_split_destinations": false } @@ -25,6 +26,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "address": Destination address "amount": Amount to transfer to destination "asset_id": Asset id to transfer + "payment_id": [optional] Intrinsic 8-byte payment id for this destination. Incompatible with integrated addresses. "do_not_split_destinations": If true, the provided destinations will be used as-is and won't be splitted (or altered) to avoid common issues. Default is false. ``` @@ -43,4 +45,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that emits the required asset. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md b/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md index c282d64..b6fb13f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md +++ b/docs/build/rpc-api/wallet-rpc-api/encrypt_data.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "res_buff": base64 encoded resulted data message ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md b/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md index d8a7d68..99a1ceb 100644 --- a/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md +++ b/docs/build/rpc-api/wallet-rpc-api/force_rescan_tx_pool.md @@ -30,4 +30,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Operation status ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md b/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md index 84f315d..828e70e 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_bare_outs_stats.md @@ -36,4 +36,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "txs_count": Total number of transactions needed to convert all bare outputs . ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md b/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md index 0e7332f..bf8bede 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_bulk_payments.md @@ -47,4 +47,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Timestamp/blocknumber after which this money would become availabe, recommended don't count transfers that has this field not 0 ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md b/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md index 8ce29d1..660a194 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_mining_history.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "t": Timestamp ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_payments.md b/docs/build/rpc-api/wallet-rpc-api/get_payments.md index 1486591..018bce3 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_payments.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_payments.md @@ -45,4 +45,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlock_time": Timestamp/blocknumber after which this money would become availabe, recommended don't count transfers that has this field not 0 ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md index f6c0355..694d9f5 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info.md @@ -1,4 +1,4 @@ -Returns wallet history of transactions +(deprecated) Returns wallet history of transactions URL: ```http:://127.0.0.1:11211/json_rpc``` ### Request: @@ -89,10 +89,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -140,16 +143,18 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md index c1a3a8a..0e541d9 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info2.md @@ -1,4 +1,4 @@ -Returns wallet history of transactions V2(post-zarcanum version) +(deprecated) Returns wallet history of transactions V2 (post-Zarcanum version) URL: ```http:://127.0.0.1:11211/json_rpc``` ### Request: @@ -92,6 +92,14 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", "is_income": false }], + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] + }], "timestamp": 1712590951, "transfer_internal_index": 12, "tx_blob_size": 0, @@ -140,12 +148,18 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "amount": Amount of asset the had been transfered "asset_id": Asset id "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md new file mode 100644 index 0000000..b7c9ff5 --- /dev/null +++ b/docs/build/rpc-api/wallet-rpc-api/get_recent_txs_and_info3.md @@ -0,0 +1,154 @@ +Returns wallet history of transactions V3 (HF6-ready version with intrinsic payment IDs support) + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "get_recent_txs_and_info3", + "params": { + "count": 100, + "exclude_mining_txs": false, + "exclude_unconfirmed": false, + "offset": 0, + "order": "FROM_END_TO_BEGIN", + "update_provision_info": true + } +} +``` +### Request description: +``` + "count": How many items to fetch, if items fetched is less then count, then it enumeration is over + "exclude_mining_txs": Exclude mining/staking transactions from results(last_item_index should be used for subsequential calls) + "exclude_unconfirmed": Do not include uncomfirmed transactions in results (it also not included is offset is non zero) + "offset": Offset from what index to start fetching transfers entries(if filters are used then last_item_index could be used from previous call) + "order": Order: "FROM_BEGIN_TO_END" or "FROM_END_TO_BEGIN" + "update_provision_info": If update pi is required, could be false only if need to optimize performance(appliable for a veru big wallets) + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "last_item_index": 1, + "pi": { + "balance": 100000000000, + "curent_height": 121212, + "transfer_entries_count": 3, + "transfers_count": 1, + "unlocked_balance": 90000000000 + }, + "total_transfers": 1, + "transfers": [{ + "ado": { + "operation_type": 1, + "opt_amount_commitment": "5688b56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "opt_asset_id": "cc4e69455e63f4a581257382191de6856c2156630b3fba0db4bdd73ffcfb36b6", + "version": 2 + }, + "comment": "Comment here", + "contract": [{ + "cancel_expiration_time": 0, + "contract_id": "0000000000000000000000000000000000000000000000000000000000000000", + "expiration_time": 0, + "height": 0, + "is_a": false, + "payment_id": "", + "private_detailes": { + "a_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "a_pledge": 0, + "b_addr": "ZxBiDtnzhro111111111111111111111111111111111111111111111111111111111111111111111111111111116xzE1X", + "b_pledge": 0, + "c": "", + "t": "", + "to_pay": 0 + }, + "state": 0, + "timestamp": 0 + }], + "employed_entries": { + }, + "fee": 10000000000, + "height": 0, + "is_mining": false, + "is_mixing": false, + "is_service": false, + "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], + "remote_aliases": ["roger"], + "service_entries": [{ + "body": "dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85dcfd7e055a6a3043ea3541a571a57a63e25dcc64e4a270f14fa9a58ac5dbec85", + "flags": 0, + "instruction": "K", + "security": "d8f6e37f28a632c06b0b3466db1b9d2d1b36a580ee35edfd971dc1423bc412a5", + "service_id": "C" + }], + "show_sender": false, + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] + }], + "timestamp": 1712590951, + "transfer_internal_index": 12, + "tx_blob_size": 0, + "tx_hash": "5509650e12c8f901e6731a2bfaf3abfd64409e3e1366d3d94cd11db8beddb0c3", + "tx_type": 0, + "unlock_time": 0 + }] + } +} +``` +### Response description: +``` + "last_item_index": Last item index + "pi": Details on wallet balance etc + "balance": Current balance of native coins + "curent_height": Current sync height of the wallet + "transfer_entries_count": Number of UTXO entries in wallet + "transfers_count": Number of transfers in wallet + "unlocked_balance": Unlocked balance oof native coins + "total_transfers": Total transfers + "transfers": Transfers + "ado": "Asset Descriptor Operation" if it was present in transaction + "operation_type": Asset operation type identifier + "opt_amount_commitment": (optional) Asset operation amount commitment (register/emit/burn). + "opt_asset_id": (optional) ID of an asset (emit/burn/update). + "version": Asset operation type struct version + "comment": Some human-readable comment + "contract": Escrow contract if it's part of transaction + "employed_entries": Mark entries from transaction that was connected to this wallet + "fee": Transaction fee + "height": Height of the block that included transaction(0 i transaction is unconfirmed) + "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) + "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) + "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) + "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) + "remote_aliases": Aliases for remot addresses, of discovered + "service_entries": Additional entries that might be stored in transaction but not part of it's consensus + "body": Hex-encoded body of the attachment + "flags": Flags that help wallet to automatically process some properties of the attachment(combination of TX_SERVICE_ATTACHMENT_ENCRYPT_BODY=1, TX_SERVICE_ATTACHMENT_DEFLATE_BODY=2, TX_SERVICE_ATTACHMENT_ENCRYPT_BODY_ISOLATE_AUDITABLE=4,TX_SERVICE_ATTACHMENT_ENCRYPT_ADD_PROOF=8 ) + "instruction": Instruction that make sence for this particular service + "security": Hex-encoded public key of the owner, optional + "service_id": Service ID, identificator that diferent one service from another + "show_sender": If sender is included in tx + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing + "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed + "transfer_internal_index": Index of this entry in the wallet's array of transaction's history + "tx_blob_size": Size of transaction in bytes + "tx_hash": Transaction ID(hash) + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 + "unlock_time": Unlock time of this transfer (if present) + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md b/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md index 0177a2a..ef2c12b 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_restore_info.md @@ -23,13 +23,19 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "id": 0, "jsonrpc": "2.0", "result": { + "creation_timestamp": 212100, + "derivation_secret": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_auditable": false, "seed_phrase": "girlfriend unlike offer mutter tightly social silent expect constant bid nowhere reach flower bite salt becomeconversation dog rush quietly become usually lightning midnight each secret class" } } ``` ### Response description: ``` + "creation_timestamp": Prety mych self explanatory + "derivation_secret": Wallet's secret that is used for key derivations, presented in hex, 32 bytes + "is_auditable": Point if the wallet is auditable or regular "seed_phrase": Wallet's seed(secured with password if it was provided in argument) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md b/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md index 0d5e57c..5ca76f9 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_seed_phrase_info.md @@ -42,4 +42,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tracking": Indicates whether tracking is enabled. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md b/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md index 6079993..d94749c 100644 --- a/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/get_wallet_info.md @@ -8,11 +8,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "jsonrpc": "2.0", "method": "get_wallet_info", "params": { + "collect_utxo_data": false } } ``` ### Request description: ``` + "collect_utxo_data": Collect utxo statistics data(might slow down request, don't use it by default) ``` ### Response: @@ -27,8 +29,7 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_whatch_only": false, "path": "\/some\/path\/to\/wallet\/file.zan", "transfer_entries_count": 24, - "transfers_count": 11, - "utxo_distribution": ["1"] + "transfers_count": 11 } } ``` @@ -41,7 +42,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "path": Path to wallet file location "transfer_entries_count": Represent number of internal entries count(each entry represent tx output that have been addressed to this wallet) "transfers_count": Represent number of transactions that happened to this wallet(basically tx history) - "utxo_distribution": UTXO distribution for this particular wallet: disabled right now ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/getaddress.md b/docs/build/rpc-api/wallet-rpc-api/getaddress.md index 7b0d2b2..ea8d7b6 100644 --- a/docs/build/rpc-api/wallet-rpc-api/getaddress.md +++ b/docs/build/rpc-api/wallet-rpc-api/getaddress.md @@ -30,4 +30,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "address": string; standard public address of the wallet. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/getbalance.md b/docs/build/rpc-api/wallet-rpc-api/getbalance.md index 40ccf0c..b4b1a10 100644 --- a/docs/build/rpc-api/wallet-rpc-api/getbalance.md +++ b/docs/build/rpc-api/wallet-rpc-api/getbalance.md @@ -72,4 +72,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "unlocked_balance": Native coins total unlocked amount ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md index 1856036..c9c8f13 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_accept_proposal.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "result_tx_id": Result transaction id ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md index de5650f..0bbf876 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_generate_proposal.md @@ -47,4 +47,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "hex_raw_proposal": Hex-encoded proposal raw data(encrypted with common shared key). Includes half-created transaction template and some extra information that would be needed counterparty to finialize and sign transaction ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md index 34f59e7..0075c2e 100644 --- a/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md +++ b/docs/build/rpc-api/wallet-rpc-api/ionic_swap_get_proposal_info.md @@ -45,4 +45,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "to_initiator": Assets sent to the initiator ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md b/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md index 1f9730f..eacf7dd 100644 --- a/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md +++ b/docs/build/rpc-api/wallet-rpc-api/make_integrated_address.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "payment_id": Payment ID associated with the this address. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md index 9de26b5..008a62b 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_cancel_offer.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Transaction hash ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md index f9c8109..5a535a3 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_get_offers_ex.md @@ -116,4 +116,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "total_offers": Total number of offers. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md index b486c65..d6896c8 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_offer.md @@ -76,4 +76,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Transaction hash ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md index 7f891e5..1ba90d4 100644 --- a/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md +++ b/docs/build/rpc-api/wallet-rpc-api/marketplace_push_update_offer.md @@ -80,4 +80,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Transaction hash ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md b/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md index 681a07f..ee86b68 100644 --- a/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md +++ b/docs/build/rpc-api/wallet-rpc-api/mw_get_wallets.md @@ -89,4 +89,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "view_sec_key": View secret key ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md b/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md index ef9dfab..e12d40f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md +++ b/docs/build/rpc-api/wallet-rpc-api/mw_select_wallet.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "status": Result (OK if success) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md b/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md index 9e9f59c..c5c0e96 100644 --- a/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md +++ b/docs/build/rpc-api/wallet-rpc-api/proxy_to_daemon.md @@ -36,4 +36,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "response_code": Response code ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/register_alias.md b/docs/build/rpc-api/wallet-rpc-api/register_alias.md index 5f9da00..e67b46e 100644 --- a/docs/build/rpc-api/wallet-rpc-api/register_alias.md +++ b/docs/build/rpc-api/wallet-rpc-api/register_alias.md @@ -43,4 +43,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": If success - transactions that performs registration(alias becomes available after few confirmations) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md b/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md new file mode 100644 index 0000000..59b6e47 --- /dev/null +++ b/docs/build/rpc-api/wallet-rpc-api/register_gateway_address.md @@ -0,0 +1,52 @@ +Register gateway address to be used in further transfers. + +URL: ```http:://127.0.0.1:11211/json_rpc``` +### Request: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "method": "register_gateway_address", + "params": { + "descriptor_info": { + "meta_info": "Some metadata", + "opt_owner_custom_schnorr_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "opt_owner_ecdsa_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8e2", + "opt_owner_eddsa_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8" + }, + "view_pub_key": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8" + } +} +``` +### Request description: +``` + "descriptor_info": Descriptor information for the gateway + "meta_info": Additional metadata about the gateway + "opt_owner_custom_schnorr_pub_key": owner's custom Schnorr signature public key + "opt_owner_ecdsa_pub_key": owner's Ethereum public key + "opt_owner_eddsa_pub_key": owner's EdDSA public key + "view_pub_key": View address to register + +``` +### Response: +```json +{ + "id": 0, + "jsonrpc": "2.0", + "result": { + "address": "", + "address_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8", + "status": "OK", + "tx_id": "f74bb56a5b4fa562e679ccaadd697463498a66de4f1760b2cd40f11c3a00a7a8" + } +} +``` +### Response description: +``` + "address": Addres starting from gwZ or gwiZ + "address_id": Registered gateway address id + "status": Result (OK if success) + "tx_id": Transaction id + +``` +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md index 50dde30..67f53b0 100644 --- a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md +++ b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions.md @@ -82,10 +82,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -141,10 +144,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -200,10 +206,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -243,15 +252,17 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) "out": List of outgoing transactions. "ado": "Asset Descriptor Operation" if it was present in transaction @@ -279,15 +290,17 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) "pool": List of pool transactions. "ado": "Asset Descriptor Operation" if it was present in transaction @@ -315,16 +328,18 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md index c5d8698..47e7014 100644 --- a/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md +++ b/docs/build/rpc-api/wallet-rpc-api/search_for_transactions2.md @@ -69,7 +69,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "payment_id": "00000000ff00ff00", "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], "remote_aliases": ["roger"], "service_entries": [{ @@ -80,10 +79,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -126,7 +128,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "payment_id": "00000000ff00ff00", "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], "remote_aliases": ["roger"], "service_entries": [{ @@ -137,10 +138,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -183,7 +187,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": false, "is_mixing": false, "is_service": false, - "payment_id": "00000000ff00ff00", "remote_addresses": ["ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp"], "remote_aliases": ["roger"], "service_entries": [{ @@ -194,10 +197,13 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "service_id": "C" }], "show_sender": false, - "subtransfers": [{ - "amount": 1000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", - "is_income": false + "subtransfers_by_pid": [{ + "payment_id": "a1a2a3a4a5a6a7a8", + "subtransfers": [{ + "amount": 1000000000000, + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "is_income": false + }] }], "timestamp": 1712590951, "transfer_internal_index": 12, @@ -225,7 +231,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) - "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -235,15 +240,17 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) "out": List of outgoing transactions. "ado": "Asset Descriptor Operation" if it was present in transaction @@ -259,7 +266,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) - "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -269,15 +275,17 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) "pool": List of pool transactions. "ado": "Asset Descriptor Operation" if it was present in transaction @@ -293,7 +301,6 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "is_mining": Tells if this transaction is coinbase transaction(ie generated by PoW mining or by PoS staking) "is_mixing": Tells if this transaction using mixins or not(auditble wallets normally don't use mixins) "is_service": Tells if this transaction is used as utility by one of Zano services(contracts, ionic swaps, etc) - "payment_id": HEX-encoded payment id blob, if it was present "remote_addresses": Remote addresses of this transfer(destination if it's outgoing transfer or sender if it's incoming transaction) "remote_aliases": Aliases for remot addresses, of discovered "service_entries": Additional entries that might be stored in transaction but not part of it's consensus @@ -303,16 +310,18 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "security": Hex-encoded public key of the owner, optional "service_id": Service ID, identificator that diferent one service from another "show_sender": If sender is included in tx - "subtransfers": Essential part of transfer entry: amounts that been transfered in this transaction grouped by asset id - "amount": Amount of asset the had been transfered - "asset_id": Asset id - "is_income": Indicates if transfer was income our outgoing + "subtransfers_by_pid": Essential part of transfer entry: amounts that been transfered in this transaction grouped by payment ID and then by asset ID + "payment_id": HEX-encoded payment id, or empty string if not present + "subtransfers": Amounts that been transfered in this transaction with corresponding payment ID grouped by asset ID + "amount": Amount of asset the had been transfered + "asset_id": Asset id + "is_income": Indicates if transfer was income our outgoing "timestamp": Timestamp of the block that included transaction in blockchain, 0 for unconfirmed "transfer_internal_index": Index of this entry in the wallet's array of transaction's history "tx_blob_size": Size of transaction in bytes "tx_hash": Transaction ID(hash) - "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12,GUI_TX_TYPE_HTLC_DEPOSIT=13,GUI_TX_TYPE_HTLC_REDEEM=14 + "tx_type": Could be one of this: GUI_TX_TYPE_NORMAL=0, GUI_TX_TYPE_PUSH_OFFER=1, GUI_TX_TYPE_UPDATE_OFFER=2, GUI_TX_TYPE_CANCEL_OFFER=3, GUI_TX_TYPE_NEW_ALIAS=4,GUI_TX_TYPE_UPDATE_ALIAS=5,GUI_TX_TYPE_COIN_BASE=6,GUI_TX_TYPE_ESCROW_PROPOSAL=7,GUI_TX_TYPE_ESCROW_TRANSFER=8,GUI_TX_TYPE_ESCROW_RELEASE_NORMAL=9,GUI_TX_TYPE_ESCROW_RELEASE_BURN=10,GUI_TX_TYPE_ESCROW_CANCEL_PROPOSAL=11,GUI_TX_TYPE_ESCROW_RELEASE_CANCEL=12 "unlock_time": Unlock time of this transfer (if present) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md b/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md index 80f9bb1..8bc14fa 100644 --- a/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md +++ b/docs/build/rpc-api/wallet-rpc-api/send_ext_signed_asset_tx.md @@ -44,4 +44,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "transfers_were_unlocked": If true, all input transfers that were locked when preparing this transaction, are now unlocked and may be spent. Can be true only upon sending failure and if requested. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/sign_message.md b/docs/build/rpc-api/wallet-rpc-api/sign_message.md index 2700e35..3b137cb 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sign_message.md +++ b/docs/build/rpc-api/wallet-rpc-api/sign_message.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "sig": Signature represented as a hexadecimal string ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md b/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md index cde9b14..ad72b0b 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/sign_transfer.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_signed_hex": Signed transaction hex-encoded blob. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md b/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md index 8337198..af9542a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md +++ b/docs/build/rpc-api/wallet-rpc-api/split_integrated_address.md @@ -34,4 +34,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "standard_address": Standart address. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/store.md b/docs/build/rpc-api/wallet-rpc-api/store.md index a8b305d..3edb423 100644 --- a/docs/build/rpc-api/wallet-rpc-api/store.md +++ b/docs/build/rpc-api/wallet-rpc-api/store.md @@ -30,4 +30,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "wallet_file_size": Resulting file size in bytes ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md b/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md index f794659..58f540a 100644 --- a/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/submit_transfer.md @@ -32,4 +32,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_hash": Signed transaction hash. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md b/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md index d529cdc..0b53893 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md +++ b/docs/build/rpc-api/wallet-rpc-api/sweep_bare_outs.md @@ -36,4 +36,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "txs_sent": Total number of transactions sent. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/sweep_below.md b/docs/build/rpc-api/wallet-rpc-api/sweep_below.md index 45787b9..2bc23c6 100644 --- a/docs/build/rpc-api/wallet-rpc-api/sweep_below.md +++ b/docs/build/rpc-api/wallet-rpc-api/sweep_below.md @@ -50,4 +50,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_unsigned_hex": Unsigned transaction data in hexadecimal format. ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/transfer.md b/docs/build/rpc-api/wallet-rpc-api/transfer.md index 1ec86b3..9b8284f 100644 --- a/docs/build/rpc-api/wallet-rpc-api/transfer.md +++ b/docs/build/rpc-api/wallet-rpc-api/transfer.md @@ -12,7 +12,8 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "destinations": [{ "address": "ZxBvJDuQjMG9R2j4WnYUhBYNrwZPwuyXrC7FHdVmWqaESgowDvgfWtiXeNGu8Px9B24pkmjsA39fzSSiEQG1ekB225ZnrMTBp", "amount": 10000000000000, - "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852" + "asset_id": "cc608f59f8080e2fbfe3c8c80eb6e6a953d47cf2d6aebd345bada3a1cab99852", + "payment_id": 1020394 }], "fee": 10000000000, "hide_receiver": true, @@ -37,11 +38,12 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "address": Destination address "amount": Amount to transfer to destination "asset_id": Asset id to transfer + "payment_id": [optional] Intrinsic 8-byte payment id for this destination. Incompatible with integrated addresses. "fee": Fee to be paid on behalf of sender's wallet(paid in native coins) - "hide_receiver": This add to transaction information about remote address(destination), might be needed when the wallet restored from seed phrase and fully resynched, if this option were true, then sender won't be able to see remote address for sent transactions anymore. + "hide_receiver": [deprecated] This add to transaction information about remote address(destination), might be needed when the wallet restored from seed phrase and fully resynched, if this option were true, then sender won't be able to see remote address for sent transactions anymore. "mixin": Specifies number of mixins(decoys) that would be used to create input, actual for pre-zarcanum outputs, for post-zarcanum outputs instead of this option, number that is defined by network hard rules(15+) - "payment_id": Hex-encoded payment_id, that normally used for user database by exchanges - "push_payer": Reveal information about sender of this transaction, basically add sender address to transaction in encrypted way, so only receiver can see who sent transaction + "payment_id": [deprecated] Legacy tx-wide hex-encoded payment_id, that normally used for user database by exchanges + "push_payer": [deprecated] Reveal information about sender of this transaction, basically add sender address to transaction in encrypted way, so only receiver can see who sent transaction "service_entries": Service entries that might be used by different apps that works on top of Zano network, not part of consensus "body": Hex-encoded body of the attachment "flags": Flags that help wallet to automatically process some properties of the attachment(combination of TX_SERVICE_ATTACHMENT_ENCRYPT_BODY=1, TX_SERVICE_ATTACHMENT_DEFLATE_BODY=2, TX_SERVICE_ATTACHMENT_ENCRYPT_BODY_ISOLATE_AUDITABLE=4,TX_SERVICE_ATTACHMENT_ENCRYPT_ADD_PROOF=8 ) @@ -70,4 +72,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_unsigned_hex": Has unsigned tx blob in hex encoding ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md b/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md index 37c62df..7c9c5e4 100644 --- a/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md +++ b/docs/build/rpc-api/wallet-rpc-api/transfer_asset_ownership.md @@ -38,4 +38,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of the transaction that carries asset transfer ownership operation ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/update_alias.md b/docs/build/rpc-api/wallet-rpc-api/update_alias.md index 2be6114..b3c2957 100644 --- a/docs/build/rpc-api/wallet-rpc-api/update_alias.md +++ b/docs/build/rpc-api/wallet-rpc-api/update_alias.md @@ -41,4 +41,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": If success - transactions that performs registration(alias becomes available after few confirmations) ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/docs/build/rpc-api/wallet-rpc-api/update_asset.md b/docs/build/rpc-api/wallet-rpc-api/update_asset.md index 852850b..9cf6441 100644 --- a/docs/build/rpc-api/wallet-rpc-api/update_asset.md +++ b/docs/build/rpc-api/wallet-rpc-api/update_asset.md @@ -53,4 +53,4 @@ URL: ```http:://127.0.0.1:11211/json_rpc``` "tx_id": Id of transaction that carries asset registration command, asset would be registered as soon as transaction got confirmed ``` -Auto-doc built with: 2.1.8.415[f287916] \ No newline at end of file +Auto-doc built with: 2.2.0.461[d830c07] \ No newline at end of file diff --git a/static/_headers b/static/_headers new file mode 100644 index 0000000..29667b7 --- /dev/null +++ b/static/_headers @@ -0,0 +1,4 @@ +/* + X-Frame-Options: DENY + Permissions-Policy: camera=(), microphone=(), geolocation=() + Content-Security-Policy: frame-ancestors 'none'