SNS treasury fund id

On the command to initiate SNS treasury transfers, there is a field from_treasury. I understand this relates to the treasuries of ICP and the SNS native token. Is there a way to see which “treasury-id” corresponds to which?

For example, does from_treasury = 0 transfer from the ICP treasury and from_treasury = 1 transfer the SNS native token? Is there a way to create more treasuries (e.g. 2, 3, …)?

See here:

  // Whether to make the transfer from the NNS ledger (in ICP) or
  // to make the transfer from the SNS ledger (in SNS tokens).
  enum TransferFrom {
1 Like

Thank you! What exactly does TRANSFER_FROM_UNSPECIFIED = 0; mean? What happens when you specify that?

It will return an error when trying to create the proposal. Here is the code of the proposal validation: ic/rs/sns/governance/src/ at 7eace38b7580dc35af53b9180ea40480af4977dc · dfinity/ic · GitHub. I don’t know why it exists in the first place but I think it is something to do with protobuf conventions.

1 Like