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_key
input 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_key
input 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_key
ormnemonic
inputs 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_key
output.
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_key
output.
- 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,
0
will 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
Initiate
permission 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
initiator
will 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_key
output
- 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_key
output
- 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_key
output
- 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_key
output
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
}