Migrating to v2
This guide references the major changes between v1 and v2 to help those migrating an existing app.
API Kit constructor
It won't be necessary to specify a txServiceUrl
in environments where Safe has a Transaction Service running. Providing the chain ID will be enough. If you want to use your custom service or the kit in a chain not supported by a Safe Transaction Service, you can add the txServiceUrl
parameter.
// old:
import SafeApiKit from '@safe-global/api-kit'
const apiKit = new SafeApiKit({
txServiceUrl: 'https://your-transaction-service-url',
ethAdapter
})
// new:
import SafeApiKit from '@safe-global/api-kit'
const chainId: bigint = 1n
const apiKit = new SafeApiKit({
chainId
})
// or set a custom Transaction Service
const apiKit = new SafeApiKit({
chainId,
txServiceUrl: 'https://your-transaction-service-url'
})
Use the route you prefer
API Kit v1 forced any custom service to be hosted under the /api
route of the URL specified in txServiceUrl
. This isn't the case anymore; you can specify any preferred route or subdomain.
Note that if you use a custom service running under /api
, you will now need to migrate as follows:
// old:
const txServiceUrl = 'https://your-transaction-service-domain/'
const apiKit = new SafeApiKit({
txServiceUrl,
ethAdapter
})
// new:
const chainId: bigint = 1n
const txServiceUrl = 'https://your-transaction-service-domain/api'
const apiKit = new SafeApiKit({
chainId,
txServiceUrl
})
MasterCopy to Singleton
To avoid confusion between terms used as synonyms, we aligned all our code to use the word singleton
.
- Rename type
MasterCopyResponse
toSafeSingletonResponse
- Rename method
getServiceMasterCopiesInfo()
togetServiceSingletonsInfo()