Software development kit that facilitates the interaction with Safe Smart Accounts using a TypeScript interface. This Kit can be used to create new Safe accounts, update the configuration of existing Safes, create and execute transactions, among other features.
Head to the Protocol Kit docs to learn more about how to use this SDK.
Install the package with yarn or npm:
yarn add @safe-global/protocol-kit
npm install @safe-global/protocol-kit
-
provider
: You can set an EIP-1193 compatible provider or an HTTP/WebSocket RPC URL. -
signer
: This is an optional parameter. It should be the provider's address you want to use or a private key. If not set, it will try to fetch a connected account from the provider.
Loading an already deployed Safe, using the safeAddress
property:
import Safe from '@safe-global/protocol-kit'
const protocolKit = await Safe.init({
provider,
signer,
safeAddress
})
Initialization of an undeployed Safe using the predictedSafe
property. Because Safes are deployed in a deterministic way, passing a predictedSafe
will allow to initialize the SDK with the Safe configuration and use it to some extent before it's deployed:
import Safe, { PredictedSafeProps } from '@safe-global/protocol-kit'
const predictedSafe: PredictedSafeProps = {
safeAccountConfig,
safeDeploymentConfig
}
const protocolKit = await Safe.init({
provider,
signer,
predictedSafe
})
If you have any doubts, questions, or need assistance, feel free to reach out! Here you will find how to get support.
Please read our contribution guidelines before submitting any changes. We appreciate your help! 🙌
This library is released under MIT.