JSPM

@wardenprotocol/protocol-kit

6.1.6
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 15
  • Score
    100M100P100Q42783F
  • License MIT

SDK that facilitates the interaction with Safe Smart Accounts

Package Exports

  • @wardenprotocol/protocol-kit
  • @wardenprotocol/protocol-kit/dist/cjs/src/index.cjs
  • @wardenprotocol/protocol-kit/dist/cjs/test-utils/index.cjs
  • @wardenprotocol/protocol-kit/dist/esm/src/index.mjs
  • @wardenprotocol/protocol-kit/dist/esm/test-utils/index.mjs
  • @wardenprotocol/protocol-kit/dist/src/Safe.d.ts
  • @wardenprotocol/protocol-kit/dist/src/Safe.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/SafeProvider.d.ts
  • @wardenprotocol/protocol-kit/dist/src/SafeProvider.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/BaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/BaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/SafeBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/SafeBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/config.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/config.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/constants.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/constants.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/contractInstances.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/contractInstances.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/safeDeploymentContracts.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/safeDeploymentContracts.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/contracts/utils.d.ts
  • @wardenprotocol/protocol-kit/dist/src/contracts/utils.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/managers/contractManager.d.ts
  • @wardenprotocol/protocol-kit/dist/src/managers/contractManager.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/managers/fallbackHandlerManager.d.ts
  • @wardenprotocol/protocol-kit/dist/src/managers/fallbackHandlerManager.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/managers/guardManager.d.ts
  • @wardenprotocol/protocol-kit/dist/src/managers/guardManager.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/managers/moduleManager.d.ts
  • @wardenprotocol/protocol-kit/dist/src/managers/moduleManager.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/managers/ownerManager.d.ts
  • @wardenprotocol/protocol-kit/dist/src/managers/ownerManager.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/contracts.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/contracts.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/passkeys.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/passkeys.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/safeConfig.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/safeConfig.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/safeProvider.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/safeProvider.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/types/transactions.d.ts
  • @wardenprotocol/protocol-kit/dist/src/types/transactions.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/address.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/address.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/block.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/block.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/constants.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/constants.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-3770/config.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-3770/config.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-3770/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-3770/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-712/encode.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-712/encode.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-712/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/eip-712/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/erc-20/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/erc-20/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/getProtocolKitVersion.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/getProtocolKitVersion.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/memoized.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/memoized.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/messages/SafeMessage.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/messages/SafeMessage.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/on-chain-tracking/generateOnChainIdentifier.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/PasskeyClient.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/PasskeyClient.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/extractPasskeyData.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/extractPasskeyData.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/getPasskeyOwnerAddress.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/isSharedSigner.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/passkeys/isSharedSigner.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/provider.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/provider.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/safeVersions.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/safeVersions.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/SafeSignature.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/SafeSignature.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/utils.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/signatures/utils.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/SafeTransaction.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/SafeTransaction.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/gas.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/gas.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/index.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/types.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/types.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/utils.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/transactions/utils.d.ts.map
  • @wardenprotocol/protocol-kit/dist/src/utils/types.d.ts
  • @wardenprotocol/protocol-kit/dist/src/utils/types.d.ts.map
  • @wardenprotocol/protocol-kit/dist/test-utils/index.d.ts
  • @wardenprotocol/protocol-kit/dist/test-utils/index.d.ts.map
  • @wardenprotocol/protocol-kit/dist/test-utils/passkeys.d.ts
  • @wardenprotocol/protocol-kit/dist/test-utils/passkeys.d.ts.map
  • @wardenprotocol/protocol-kit/dist/test-utils/webauthnShim.d.ts
  • @wardenprotocol/protocol-kit/dist/test-utils/webauthnShim.d.ts.map
  • @wardenprotocol/protocol-kit/test-utils

Readme

Protocol Kit

npm Version GitHub Release GitHub

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.

Table of contents

Documentation

Head to the Protocol Kit docs to learn more about how to use this SDK.

Installation

Install the package with yarn or npm:

yarn add @wardenprotocol/protocol-kit
npm install @wardenprotocol/protocol-kit

Quick Start

  • 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 '@wardenprotocol/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 '@wardenprotocol/protocol-kit'

const predictedSafe: PredictedSafeProps = {
  safeAccountConfig,
  safeDeploymentConfig
}

const protocolKit = await Safe.init({
  provider,
  signer,
  predictedSafe
})

Need Help or Have Questions?

If you have any doubts, questions, or need assistance, feel free to reach out! Here you will find how to get support.

Contributing

Please read our contribution guidelines before submitting any changes. We appreciate your help! 🙌

License

This library is released under MIT.