Hi there,

I have an issuer with my Asset, and 4 distributors.
Once I have sent coins to each distributor, I need to lock issuer (w:0), for this, I try 2 methods:

1/ I lock my isssuer with this options:

let options = StellarSDK.Operation.setOptions({
    masterWeight: 0,
    lowThreshold: 1,
    medThreshold: 1,
    highThreshold: 1,
})
let result = submitOperation(issuingAccount, issuingSecret, options)

This method works

2/ I try another solution

let options = StellarSDK.Operation.setOptions({
    signer: {
        ed25519PublicKey: issuingAccount.accountId(),
        weight: 0,
    },
})
let result = submitOperation(issuingAccount, issuingSecret, options)

This method don't work (I have an error), I can't seem to lock myself

The problem with the 1st solution, now every time the distributor has to send payments to each new wallet, I need to establish a trustline between the new wallet and the issuer, the problem is the issuer (or the distributor) can't establish this trustline (I get a tx_bad_seq error), because my issuer account is locked.

    let allowTrust = StellarSDK.Operation.setTrustLineFlags({
        trustor: newWalletAccountId,
        asset: asset,
        flags: {
            authorized: true,
        },
    })
    /*let allowTrust = StellarSDK.Operation.allowTrust({
        trustor: newWalletAccountId,
        assetCode: asset.code,
        authorize: authorize,
    })*/

    let result = await this._submitOperation(
        allowTrust,
        issuingAccount,
        issuingSecret
    )

I have been looking for several hours, but there is certainly something I have missed. If you have any suggestions?

Thanks

You can not lock yourself because to do that you need to reduce the master weight directly in the set options and not using your signers as an extra signer

About the authorization issue, if you lock your account you can't do anything with it later so using the authorization flag doesn't have any sense. One way you could semi-lock it will be setting to 0 the weight of the master key and setting a second signer with threshold enough to at least allow the trust to others

Hi,

Thank you for your reply.

There is something I don't understand:

Stellar tells us that for an ICO, you need to create an issuer and deposit it out to 1 or more distributors, then lock in the supply forever.

However, most of the assets (on stellar.expert), are locked, moreover many expert advises it,
since this is the only guarantee that you will not be able to supply your issuer.

In our example, new users who wish to buy your asset, you will have to create a wallet, and establish a trustline, between the issuer and the new wallet (otherwise you can't transfer from distributor to new wallet -> no_op_trust), but this is impossible, because the issuer has a weight of 0.

So what would be the reasonable solution?

In this case, is it not possible to envisage that the distributor(s) inherit the issuer's authorization (low threshold) to give the trustline to each new wallet?

PS: I forgot to mention, the issuer must be able to add/remove (vesting/fraud/...) the trustline and also use the clawback, so I use
SetFlags [Required | Revocable | Clawback] on Issuer

Thanks

    Droppix got it, if you also need to use Clawback operations I feel you should not lock the issuer of the asset (Clawback operations need a Medium threshold)

      earrietadev

      Hi Lobstr team,

      I'm a user of your platform whom need your help, please. I don't manage to remove the multisig option and I can't validate any operations/orders in Lobstr anymore.
      My situation is this:
      I have a my first signer account in Multisig options + the 2 signers of LOBSTR Vault.
      In LOBSTR Vault I have a different signer with a different Vault Public Key.
      When I want to remove the LOBSTR Vault signer key in Lobstr the authorization is sent to my first account key in LOBSTR Vault. Which I don't have access even after a Recovery of LOBSTR Vault.
      Can you Tell me what to do to get out of this crazy double bind loose ?

      Please Help SOS.

      Congrats and Best Regards

        MikaQajaQ Hi there, I'm not from the Lobstr team but I can help. First of all: DO NOT send any of your private keys to someone saying they can help you... That being said:

        If your account has two signers (one in Lobstr and one in Vault) and you lost access to one of them I'm afraid your account is locked forever because there is no way to submit a transaction without both signers

          earrietadev

          Hi mate, I had connected my Lobstr wallet to another platform. If I want to stop this Multisig, would it be better to create a new Lobstr account and then connect my wallet. Can this be a solution ?

          Hi earrietadev,

          I connected my wallet to scopuly. There I see I can delete signers in Multisig also. Trouble I don't understand who is the high, low, medium THRESHOLDS.. Anyway, it doesn't let me change it and I'm not a programmer. So, is tit possible to merge the wallets to stop this Multisig ? Does it merge the Xlm and the tokens assets ? THX

          Hey @MikaQajaQ, yes you can merge the account BUT you need access to all the signers. This means that if you don't have access to the Lobstr Vault account then you can not do it, same with removing extra signers: Without access to all the signers you can not do it

            Ok. I have acces to the LOBSTR Vault but there is the wrong signer in it.... Do you know how tell Lobstr to change this ? Do you know someone in Lobstr team ? They don't respond to my emails....

              MikaQajaQ Lobstr vault is selft hosted, neither they or anybody can access to the lobstr vault in your device.

              About your second question: No you can not use another keypair, if you don't have access to the same keypair you had before then there is nothing you can do and the account is locked forever

              MikaQajaQ No, without access to the original signers (at least to get enough threshold) there is nothing you can do unfortunately

              2 months later

              @"Droppix"#p15216When you issue the token to your distributing wallet and lock the issuing wallet, the wallet that is now the issuer to others that create a trusline to it. You set the weights, as you said, and the wallet that holds those assets now becomes the wallet that will issue the tokens to the people.