Agoric / wallet-app

Site for wallet.agoric.app
https://wallet.agoric.app/
2 stars 7 forks source link

Documentation or examples detailing the use of addOffer #115

Closed carlos-kryha closed 1 year ago

carlos-kryha commented 1 year ago

What is the Problem Being Solved?

In order to have a working dapp on Agoric, wallet-app must be integrated with the dapp's frontend to interact with Agoric contracts. The current examples of this functionality (dapp-psm, dapp-inter) deal only with fungible assets and fail to show how to handle semi-fungible or non-fungible assets.

After some help from Office Hours, we got a bit further in our addOffer integration efforts, but when attempting to use non-fungible assets in the proposal we noticed some issues in the wallet-dapp. For example:

I can get around some of the errors by running the wallet-app locally and patching (or ignoring...) them, but I believe implementing an example of addOffer on your end using assets of kind COPY_BAG or COPY_SET would be the most efficient way to find and address these issues, let me know if that would be possible.

Description of the Design

n/a

Security Considerations

n/a

Test Plan

n/a

samsiegart commented 1 year ago

The wallet UI has not been designed to work with, or tested against non-fungible amounts yet, so this requires both a patch as well as documentation after the fact.

@carlos-kryha or @dckc, would you be able to point me to a way to test the wallet UI against a live contract that uses NFTs?

Also RE: I can get around some of the errors by running the wallet-app locally and patching (or ignoring...) them - would you be able to point me to a commit or such a patch for reference? I think I know how to fix it regardless, but would be helpful.

dckc commented 1 year ago

@carlos-kryha or @dckc, would you be able to point me to a way to test the wallet UI against a live contract that uses NFTs?

I have some relevant work in progress, but it's not working reliably yet

https://github.com/Agoric/agoric-sdk/tree/7226-sw-nft-issuer/packages/deployment/upgrade-test/upgrade-test-scripts/agoric-upgrade-11/wallet-all-ertp https://github.com/Agoric/agoric-sdk/blob/master/packages/smart-wallet/test/gameAssetContract.js

2023-08-07 18:40 9ce884092

WietzeSlagman commented 1 year ago
      if (updateRecord.updated == 'walletAction') {
        console.warn('Empty update, skipping', updateRecord);
        break;
      }

adding this to line 445 of https://github.com/Agoric/wallet-app/blob/main/wallet/src/util/WalletBackendAdapter.ts#L445 omits the error and allows you to continue using the wallet

turadg commented 1 year ago

Examples have been provided. New requests please use Discussions or Slack.