Bahamas - Release Summary

Action/Endpoint

Details

Tests

Action/Endpoint

Details

Tests

New API Endpoints

 

 

/transfer_fio_address (FIP-1.b)

  • Creates a new account if necessary

  • Updates table: fio.address fionames

    • Updates owner_account to new owner

  • All existing Other Blockchain Public Addresses (OBPA) mappings for the FIO Address are purged.

  • new_owner_fio_public_key is set as the chain_code:FIO, token_code:FIO of the transferred FIO Address

Typescript SDK - https://fioprotocol.atlassian.net/browse/BD-1814
Kotlin SDK - https://fioprotocol.atlassian.net/browse/BD-2163
fio.test - transfer-address.js

/transfer_locked_tokens (FIP-6)

  • Creates a new “locktokens” table that is different from the genesis ”lockedtokens” table

  • Creates a new account

  • Adds a lock entry into the fio.system > locktokens table:

{ "id": 17, "owner_account": "aeytjwmiuc4v", "lock_amount": 500000000000, "payouts_performed": 0, "can_vote": 0, "periods": [{ "duration": 3600, "percent": "30.00000000000000000" },{ "duration": 3640, "percent": "70.00000000000000000" } ], "remaining_lock_amount": 500000000000, "timestamp": 1607442494 } ], "more": false
fio.test - transfer-locked-tokens.js, transfer-locked-tokens-account-tests.js, transfer-locked-tokens-large-grans.js

/get_locks (FIP-6)

  • Pass in FIO Public Key, returns lock periods for that account.

fio.test - getLocks Tested in transfer-locked-tokens.js

/burn_fio_address (FIP-7)

  • Removes the fio_address from the fionames table.

  • Removes the TPID entry inside the tpid index table.

  • All entries associated with this address in the keynames table will be removed.

  • The account on the fio chain, and the binding for this account in the eosionames table will remain.

  • Also remaining will be all requests for funds that have this address as a payee or payer will remain in the fioreqctxts index table

Typescript SDK - burn-address.js > E. Test burnfioaddress SDK call (uses chain/burn_fio_address endpoint)
fio.test - burn-address.js

/compute_fees (FIP-10)

  • Computes endpoint Fees according to the multiplier and ratio settings from the BPs.

Typescript SDK - N/A. Producer action only.
Kotlin SDK - N/A. Producer action only.
fio.test - producer-fee-setting.js

/add_bundled_transactions (FIP-11.a)

  • Updates table: fio.address fionames

    • Adds bundle count to bundleeligiblecountdown

/get_pub_addresses (FIP-13)

  • Returns all public addresses for specified FIO Address.

  • “limit” and “offset” are supported

/get_received_fio_requests (FIP-19)

  • All FIO Requests received by any FIO Address owned by account hashed down from the supplied fio_public_key is returned

Modified API endpoints

 

 

/get_obt_data (FIP-1)

  • Modified to only return OBT records which include the provided FIO Public Key. (It currently returns records which include all FIO Addresses owned by the provided key at the time of query This would cause new owner to see old requests, even though they could not decrypt the contents.)

/get_pending_fio_requests (FIP-1)

  • Modified to only FIO Requests which include the provided FIO Public Key. (It currently returns records which include all FIO Addresses owned by the provided key at the time of query This would cause new owner to see old requests, even though they could not decrypt the contents.)

/get_sent_fio_requests (FIP-1)

  • Modified to only FIO Requests which include the provided FIO Public Key. (It currently returns records which include all FIO Addresses owned by the provided key at the time of query This would cause new owner to see old requests, even though they could not decrypt the contents.)

/get_cancelled_fio_requests (FIP-1)

  • Modified to only FIO Requests which include the provided FIO Public Key. (It currently returns records which include all FIO Addresses owned by the provided key at the time of query This would cause new owner to see old requests, even though they could not decrypt the contents.)

/get_fio_balance (FIP-6)

  • “available” is added to response and includes only tokens which are not locked.

{ "balance": 100000000000, "available": 100000000000 }

/vote_producer (FIP-9)

  • FIO Address field can now be left blank

/proxy_vote (FIP-9)

  • FIO Address field can now be left blank

/submit_fee_ratios (FIP-10)

  • Modified to store submitted value, but not calculate fees.

  • Uses the new fees table and set the votesPending to 1.

  • Allows only top 150 block producers to call it.

  • Charges a fee.

/submit_fee_multiplier (FIP-10)

  • Modified to use the new fees table and set the votesPending to 1.

  • Allows only top 150 block producers to call it.

  • Charges a fee.

/submit_bundled_transaction (FIP-10)

  • Allows only top 150 block producers to call it.

  • Charges a fee.

/add_pub_address (FIP-18)

  • Specifying * as token code is allowed. This maps the given public_address to all tokens for the given chain.

{ "chain_code": "ETH", "token_code": "*", "public_address": "0xab5801a7d398351b8be11c439e05c5b3259aec9b" }

/get_pub_address (FIP-18)

  • Specifying * as token code is allowed when retrieving mapped addresses.

/remove_pub_address (FIP-18)

  • Specifying * as token code is allowed when removing an address.

/get_fio_names (FIP-25)

/get_fio_addresses (FIP-25)

  • Modified to add remaining bundled transaction count.

Example: