Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Foundation for Interwallet Operability will build tools into its upcoming dApp (aka Dashboard) to enable:

...

  • Enable artists using its platform to:

    • Register FIO Domains and Addresses.

    • Sign their NFTs by mapping them to their FIO Addresses.

  • Rely on FIO Protocol to:

    • Check NFTs being listed for any other trusted signatures to confirm provenance.

  • Act as a provenance expert by:

    • Mapping any verified NFTs to their own FIO Address.

  • Integrate:

Sample UX

https://xd.adobe.com/view/4ed48848-8442-411d-bbd8-ac8c189b7183-1b87/?fullscreen

Proposed Modification to FIO Chain

New actions

addnfts

This action adds (maps) NFTs to a FIO Address. It is eligible to be paid using bundled transactions.

Request

...

Group

...

Parameter

...

Required

...

Format

...

Definition

...

fio_address

...

Yes

...

string

...

  • FIO Address to which to map NFTs

...

nft

...

  • Max 5 per call

...

nfts

...

chain_code

...

Yes

...

string

...

  • (1 to 10 chars), pattern: ^[A-Z0-9]+$

  • Chain code identifies the blockchain. For example: for Ethereum: chain_code = ETH, for BTC: chain_code = BTC. For list of chain codes you can refer to SLIP-44 and/or FIP-15.

...

nfts

...

contract_address

...

Yes

...

string

...

  • This is the public address of the NFT smart contract on the target blockchain.

...

nfts

...

token_id

...

Yes

...

string

...

  • This is the specific token ID of the NFT.

  • Set to empty if not relevant.

...

nfts

...

hash

...

Yes

...

string

...

  • sha-256 hash of the work, e.g. hash of the image.

  • Set to empty if not known.

...

max_fee

...

Yes

...

string

...

  • Maximum amount of SUFs the user is willing to pay for fee.

  • Should be preceded by /get_fee for correct value.

...

tpid

...

Yes

...

  • FIO Address of the wallet which generates this transaction.

  • This FIO Address will be paid 10% of the fee.

  • See TPID for details.

  • Set to empty if not know.

...

actor

...

Yes

...

string

...

Example
Code Block
languagejson
{
  "fio_address": "purse@alice",
  "nfts": [
    {
      "chain_code": "ETH",
      "contract_address": "0x63c0691d05f441f42915ca6ca0a6f60d8ce148cd",
      "token_id": "100010001",
      "hash": "f83b5702557b1ee76d966c6bf92ae0d038cd176aaf36f86a18e2ab59e6aefa4b"
    },
    {
      "chain_code": "EOS",
      "contract_address": "atomicassets",
      "token_id": "2199023271139",
      "hash": "b8cb100b12807bd8a8267800477ee5ba4bd387e840bbedf02e31787ca9430bb0"
    }
  ],
  "max_fee": 0,
  "tpid": "rewards@wallet",
  "actor": "aftyershcu22"
}

Response

...

Parameter

...

Format

...

Definition

...

status

...

string

...

OK

...

fee_collected

...

Int

...

Amount of SUFs collected as fee

New getters

get_nfts

...

Parameter

...

Required

...

Format

...

Definition

...

fio_address

...

No

...

string

...

  • FIO Address to which to map NFTs

...

chain_code

...

No

...

string

...

  • (1 to 10 chars), pattern: ^[A-Z0-9]+$

  • Chain code identifies the blockchain. For example: for Ethereum: chain_code = ETH, for BTC: chain_code = BTC. For list of chain codes you can refer to SLIP-44 and/or FIP-15.

...

contract_address

...

No

...

string

...

  • This is the public address of the NFT smart contract on the target blockchain.

...

token_id

...

No

...

string

...

  • This is the specific token ID of the NFT.

...

hash

...

No

...

string

...

  • sha-256 hash of the work, e.g. hash of the image.

...

limit

...

No

...

Int

...

  • Number of requests to return. If omitted, all requests will be returned.

...

offset

...

No

...

Int

...

  • First request from list to return. If omitted, 0 is assumed.

Example 1
Code Block
languagejson
{
  "fio_address": "purse@alice",
  "limit": 100
}
Example 2
Code Block
languagejson
{
  "chain_code": "EOS",
  "contract_address": "atomicassets",
  "token_id": "2199023271139"
}
Example 3
Code Block
languagejson
{
  "hash": "b8cb100b12807bd8a8267800477ee5ba4bd387e840bbedf02e31787ca9430bb0"
}

Response

...

Group

...

Parameter

...

Required

...

Format

...

Definition

...

nfts

...

fio_address

...

Yes

...

string

...

FIO Address which has the NFT mapped.

...

nfts

...

chain_code

...

Yes

...

string

...

(1 to 10 chars)

  • Pattern: ^[A-Z0-9]+$

  • Chain code identifies the blockchain. For example: for Ethereum: chain_code = ETH, for BTC: chain_code = BTC. For list of chain codes you can refer to SLIP-44 and/or FIP-15.

...

nfts

...

contract_address

...

Yes

...

string

...

  • This is the public address of the NFT smart contract on the target blockchain.

...

nfts

...

token_id

...

Yes

...

string

...

  • This is the specific token ID of the NFT.

  • May empty if not relevant.

...

nfts

...

hash

...

Yes

...

string

...

  • sha-256 hash of the work, e.g. hash of the image.

  • May be empty if not known.

...

nfts

...

time_stamp

...

Yes

...

string

...

  • Timestamp of when mapped last.

...

more

...

Yes

...

Int

...

  • 0 - no more results 1 - more results

Example

...

languagejson

...

See FIP-27: https://github.com/fioprotocol/fips/blob/master/fip-0027.md