Solana and SVM Compatible Blockchains (beta) Signers
secret_key
The svm::secret_key signer can be used to synchronously sign a transaction.
Inputs
- Name
- secret_key
- Required
- optional
- Type
- string
- Description
- The secret key used to sign messages and transactions. 
 
- Name
- mnemonic
- Required
- optional
- Type
- string
- Description
- The mnemonic phrase used to generate the secret key. This input will not be used if the - secret_keyinput is provided.
 
- Name
- derivation_path
- Required
- optional
- Type
- string
- Description
- The derivation path used to generate the secret key. This input will not be used if the - secret_keyinput is provided.
 
- Name
- keypair_json
- Required
- optional
- Type
- string
- Description
- A path to a keypair.json file containing the secret key. This input will not be used if the - secret_keyor- mnemonicinputs are provided.
 
- Name
- is_encrypted
- Required
- optional
- Type
- bool
- Description
- Coming soon 
 
- Name
- password
- Required
- optional
- Type
- string
- Description
- Coming soon 
 
Outputs
When the secret_key action is successfully executed, the following outputs are attached to the action
- Name
- public_key
- Type
- string
- Description
- The public key of the account generated from the secret key, mnemonic, or keypair file. 
 
- Name
- address
- Type
- string
- Description
- The SVM address generated from the secret key, mnemonic, or keypair file. This is an alias for the - public_keyoutput.
 
Example using secret_key
signer "deployer" "svm::secret_key" {
    secret_key = input.secret_key
}
web_wallet
The svm::web_wallet signer will allow a Runbook operator to sign the transaction with the browser signer of their choice.
Inputs
- Name
- expected_address
- Required
- optional
- Type
- string
- Description
- The SVM address that is expected to connect to the Runbook execution. Omitting this field will allow any address to be used for this signer. 
 
Outputs
When the web_wallet action is successfully executed, the following outputs are attached to the action
- Name
- address
- Type
- string
- Description
- The address of the account. This is an alias for the - public_keyoutput.
 
- Name
- public_key
- Type
- string
- Description
- The address of the account. 
 
Example using web_wallet
signer "alice" "svm::web_wallet" {
    expected_address = "zbBjhHwuqyKMmz8ber5oUtJJ3ZV4B6ePmANfGyKzVGV"
}
squads
The svm::squads signer can be used to sign a transaction with a squads multisig.
Inputs
- Name
- multisig_account_public_key
- Required
- optional
- Type
- addon(svm::pubkey)
- Description
- The Squad multisig account pubkey. This is found on the settings page in the Squads app. This is not the vault address. Rather, this multisig account address will be used to derive the vault address and all transaction PDAs. 
 
- Name
- create_key
- Required
- optional
- Type
- addon(svm::pubkey)
- Description
- The create key used to derive the Squad multisig address. 
 
- Name
- vault_index
- Required
- optional
- Type
- integer
- Description
- The index of the vault to be created. If omitted, - 0will be used.
 
- Name
- initiator
- Required
- required
- Type
- string
- Description
- A reference to a signer construct, which will be used to create the Squads Vault Transaction & Proposal. This signer must have the - Initiatepermission in the Squads Multisig.
 
- Name
- payer
- Required
- optional
- Type
- string
- Description
- A reference to a signer construct, which will be used to pay for the Squads Vault Transaction & Proposal creation. If omitted, the - initiatorwill be used.
 
- Name
- program_id
- Required
- optional
- Type
- addon(svm::pubkey)
- Description
- The program ID of the Squad program. If omitted, the default program ID will be used. 
 
- Name
- squads_frontend_url
- Required
- optional
- Type
- string
- Description
- The URL of the Squads frontend. If omitted, the default URL 'https://app.squads.so' will be used. 
 
Outputs
When the squads action is successfully executed, the following outputs are attached to the action
- Name
- public_key
- Type
- string
- Description
- The public key of the Squad vault for the provided vault index. This is an alias for the - vault_public_keyoutput
 
- Name
- address
- Type
- string
- Description
- The public key of the Squad vault for the provided vault index. This is an alias for the - vault_public_keyoutput
 
- Name
- vault_public_key
- Type
- string
- Description
- The public key of the Squad vault for the provided vault index. 
 
- Name
- vault_address
- Type
- string
- Description
- The public key of the Squad vault for the provided vault index. This is an alias for the - vault_public_keyoutput
 
- Name
- multisig_account_public_key
- Type
- string
- Description
- The public key of the Squad multisig pda. This address should not be funded. 
 
- Name
- multisig_account_address
- Type
- string
- Description
- The public key of the Squad multisig pda. This address should not be funded. This is an alias for the - multisig_account_public_keyoutput
 
Example using squads
signer "initiator" "svm::web_wallet" {
    expected_address = input.initiator_address
}
signer "deployer" "svm::squads" {
    multisig_account_public_key = input.squads_multisig_address
    initiator = signer.initiator
}