Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@mderouet
Copy link
Contributor

@mderouet mderouet commented Mar 3, 2024

Integrating tokens stored on the RMM but belonging to the user wallet https://rmm.realtoken.network/
Any wallet having properties on RMM can be used for testing purpose,
Eg:
"MYREALT_WALLET_ADDRESS": "0x3a662f787168e8d856e801c75449876f4da9208a"

@mderouet mderouet force-pushed the feature/rmm-tokens branch from 12e77ce to 68770b4 Compare March 3, 2024 16:39
@nmathey
Copy link
Owner

nmathey commented Mar 3, 2024

Hi,

Thanks in participating on this project!
I'm actually already handling properties put on the RMM via this part of the code wrote while RMM v2 still:

    elif re.match(r"^armmREALT", str(item.get("symbol"))):
            time.sleep(0.2)
            original_contract_address = requests.get(
                GNOSIS_API_TOKENLIST_URI + item["contractAddress"]
            ).json()
            original_contract_address = list(
                filter(
                    lambda x: re.match("^REALTOKEN", x["symbol"]),
                    original_contract_address["result"],
                )
            )
            original_contract_address = str(
                original_contract_address[0]["contractAddress"]
            )
            logging.debug("Updating armm RealT Token to Finary: " + item["symbol"])
            myRealT_rentals.update(
                {
                    original_contract_address.lower(): {
                        "name": item["symbol"],
                        "balance": float(item["balance"])
                        / pow(10, int(item["decimals"])),
                        "contractAddress": original_contract_address.lower(),
                    }
                }
            )

I'm basically for each armmREALT token found in a wallet, I looked for its property token counterpart via its associated smartcontract, and rename it as a "normal" property token for display.

Now I think RMM v3 changed the way to handle properties but my portfolio still looks good on Finary so far, not yours?

@mderouet
Copy link
Contributor Author

mderouet commented Mar 3, 2024

Hi !

From what I've seen on some wallets, deposits on RMM are now managed differently, with a collective approach rather than by individual tokens.

Here's an example of deposit properties "Total":
Deposit Properties Example

And an example of a borrow on RMM:
Borrow on RMM Example

There are multiple properties deposited on this wallet but not armmVx token.
This said, you're indeed right in the way that at some point we should receive an exchangeable token... And that somehow it works on your side.
I need to investigate this further

EDIT: Checking in more detail the transaction, there must be different functions available now in RMM V3 and our issue is probably linked to the multi-property providing / multi-withdraw which is batching the properties.
Meaning when you provide properties one by one, you get a 1 for 1 token and when you do it in batch a single transaction is holding the different properties.

Requesting the graph makes eventually more sense after this finding ? Let's try to find the right approach here

@Sigri44
Copy link

Sigri44 commented Mar 6, 2024

Hi,

Thanks in participating on this project! I'm actually already handling properties put on the RMM via this part of the code wrote while RMM v2 still:

    elif re.match(r"^armmREALT", str(item.get("symbol"))):
            time.sleep(0.2)
            original_contract_address = requests.get(
                GNOSIS_API_TOKENLIST_URI + item["contractAddress"]
            ).json()
            original_contract_address = list(
                filter(
                    lambda x: re.match("^REALTOKEN", x["symbol"]),
                    original_contract_address["result"],
                )
            )
            original_contract_address = str(
                original_contract_address[0]["contractAddress"]
            )
            logging.debug("Updating armm RealT Token to Finary: " + item["symbol"])
            myRealT_rentals.update(
                {
                    original_contract_address.lower(): {
                        "name": item["symbol"],
                        "balance": float(item["balance"])
                        / pow(10, int(item["decimals"])),
                        "contractAddress": original_contract_address.lower(),
                    }
                }
            )

I'm basically for each armmREALT token found in a wallet, I looked for its property token counterpart via its associated smartcontract, and rename it as a "normal" property token for display.

Now I think RMM v3 changed the way to handle properties but my portfolio still looks good on Finary so far, not yours?

Can't use this field for that ?

image

(ex for Kilbourne)

@nmathey
Copy link
Owner

nmathey commented Mar 7, 2024

Yes I need to see how the machinery works but I think it is the way to do
Looks like the same wrapper is used for all properties and then you get a token RealT RMM V3 RTW-USD-01 for the value of the properties supplied:

Token Contract: 0xf3220cd8f66aeb86fc2a82502977eab4bfd2f647
Token Name: RealT RMM V3 RTW-USD-01
Token Symbol: armmv3RTW-USD-01

But I don't understand yet where/how to find the reverse information of the underlying properties behind such armmv3RTW-USD-01 tokens on the blockchain

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants