I’m developing a service backed by Symbol, for which I want to setup a user’s accounts. The Symbol accounts are setup by the service, and so the service has access to the private keys of the accounts at the time of the setup. The accounts involved are:
SD_msigAccountis the account that needs to be converted to a multisig account to be used by the user
SD_cosign2Accountare the user-controlled accounts to be configured as cosignatories
serviceCosignAccountare accounts used by the service provider, and will also be set as cosignatories.
The service can operate correctly without any XYMs in the users accounts. So I would like to convert the user’s account
SD_msigAccount to multisig and pay the fees from the
I’m trying implementing it this way:
- create the hashlock transaction with the
as shown below, but this still requires the
SD_msigAccountto pay transaction fees.
Is what I’m trying to achieve possible? If yes how?
const multisigAccountModificationTransaction = MultisigAccountModificationTransaction.create( Deadline.create(epochAdjustment), 3, // minApprovalDelta 3, // minRemovalDelta [SD_cosign1Account.address, SD_cosign2Account.address,· serviceCosignAccount.address,· serviceAccount.address], // address additions , // address deletions networkType, ); const aggregateTransaction = AggregateTransaction.createBonded( Deadline.create(epochAdjustment), [multisigAccountModificationTransaction.toAggregate(SD_msigAccount.publicAccount)], networkType, , // cosignatures UInt64.fromUint(2000000), //maxFee ); const signedTransaction = SD_msigAccount.sign( aggregateTransaction, networkGenerationHash, ); // lock 10 xym as spam prevention const signedHashLockTransaction = await createSignedHashLockTx(signedTransaction,serviceAccount)