paritytech / capi-multisig-app

[WIP] Simple multisig administration
https://multisig.capi.dev/
Apache License 2.0
8 stars 0 forks source link

Multisig transfer call not correct - `Sender is not a proxy` #216

Closed peetzweg closed 1 year ago

peetzweg commented 1 year ago

201 implemented the ability to iniate a simple transfer of tokens from the multisigs stash to a given address. It also added the ability to "ratify" this call from other members of the multisig. Everything seems to work fine. However, once the threshold is reach and the actual initiated call gets submitted and finalized on chain, the extrinsic fails with this error message:

Sender is not a proxy of the account to be proxied.

Example Block including such extrinsic https://westend.subscan.io/block/0x1e8f265f26e0be46cbe8fb7e26316886863a1bbc462ec9be78024f620e519829

Screenshot 2023-06-14 at 14 15 04

The actual call which is suggested to the multisig is crafted here: https://github.com/paritytech/capi-multisig-app/blob/adc8e045f779da8297118a77cd066563a9ccf507/www/src/components/wizards/transaction/Sign.tsx#L36-L62

Which is an adapted version of the demo code ryan wrote here: https://github.com/paritytech/capi-multisig-app/pull/181/files#diff-48a207189b06f0a62ab05a05f02a5f3259b1e28254666b61a078422dde2a1d24R37-R52

It seems to me at least that there is something wrong in the structure of this call and or capi is not doing what we expect it to do.

ryanleecode commented 1 year ago

Stash needs to be funded before the ownership is transferred to multisig

statictype commented 1 year ago

hmm, weird that replaceDelegates doesn't fail then. have you tried with just ED or more? will this be done in the pattern or should we batch it with the pureProxy creation?

peetzweg commented 1 year ago

It does fail. We just don't handle it in the ui yet. Haven't done any error handling as I had no clue how to do it with capi just yet.

Can adapt the multisig creation first thing tomorrow. 👍

statictype commented 1 year ago

does it? it has always worked for me whenever I inspected the blocks. https://westend.subscan.io/block/0xe5f4550ef46c9f17735c7b71f88169108063548a4919f967404d2d204cf48cc7?tab=event

ryanleecode commented 1 year ago

if you click on it it will show as insufficient balance failed

https://westend.subscan.io/extrinsic/16253081-2

ryanleecode commented 1 year ago

the calls inside the batch call suceeded but the batchAll call failed because no funds to pay

statictype commented 1 year ago

@peetzweg the latest notification PR does some kind of error handling. adding .unhandleFailed on the Rune makes it throw the actual chain error error you can catch. but doesn't work for failed batched transactions

statictype commented 1 year ago

maybe the multisig account needs some funds too or maybe the balance conversion (in the app) is wrong. just filled my accounts with Westies, there are funds

Screenshot 2023-06-19 at 17 13 43