Releases: axelarnetwork/interchain-token-service
Releases · axelarnetwork/interchain-token-service
v2.0.1
v2.0.0
Major Changes
- 1426b15: Add ITS Hub support to EVM ITS contract
Minor Changes
- 2da5b3a: ITS deployInterchainToken is restricted from being on ITS on Amplifier chains. The ITS Factory should be used instead
- 38698a2: Remove support for deploying token manager to chains connected via ITS Hub. When deploying ITS to an EVM chain connected via Amplifier / ITS Hub, a trusted address must be set for it's own chain name to the
'hub'
identifier, to prevent deploying the token manager locally. Note that this restriction is temporary. Once the ITS Hub adds support for deploy token manager msg type, the restriction will be removed. Also note that the token manager deployed as part of registering a canonical ITS token from the ITS Factory is not affected by this.
v1.2.4
Changelog
This patch release introduces a change to custom token deployment to distinguish them from native interchain tokens deployed by ITS.
- Custom tokens using mint/burn will now have to use the updated
MINT_BURN
token manager type (i.e4
enum value). - Custom tokens using
MINT_BURN
orMINT_BURN_FROM
token manager types will need to give mint permission to the corresponding token manager contract instead of ITS. The token manager address corresponding to atokenId
can be predicted via thetokenManagerAddress
query andtokenId
can be computed via this query. - Native interchain tokens deployed by ITS will use the
NATIVE_INTERCHAIN_TOKEN
token manager type (i.e0
enum value). deployTokenManager
will now revert if0
token manager type is provided. All other token manager types will work as expected.- Existing custom tokens deployed with
0
token manager type will still work as expected. Although, when deploying the same token on a new chain, the new4
(MINT_BURN
) token manager type will need to be used, along with giving mint permission to the token manager (token manager address can be predicted via this query).
What's Changed
Full Changelog: v1.2.1...v1.2.4
v1.2.1
What's Changed
- fix: add missing imports to factory interface (#240) by @milapsheth in #243
- ci: backport ci fixes by @milapsheth in #244
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's Changed
- ci: use latest publish artifact action by @milapsheth in #236
- fix: fixing codegen invocation and removing tsconfig file by @canhtrinh in #237
- chore: remove tsc command by @canhtrinh in #238
- ci: fix bytecode publish action by @milapsheth in #239
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Changelog
- Added missing
IUpgradable
interface inIInterchainTokenService
for completeness - Bumped cgp and gmp-sdk deps
- Various test improvements
What's Changed
- fix: add missing interfaces to ITS by @milapsheth in #227
- feat: added two more flow tests: executable and fixed supply (showcasing multiple interchainTransfers) by @Foivos in #225
- feat: token address derivation test by @deanamiel in #232
- feat: live testnet improvements by @deanamiel in #230
- docs: readme by @Foivos in #231
- build: bump cgp and gmp sdk dep by @milapsheth in #233
- fix: address audit comments by @milapsheth in #234
- refactor: set max uint256 value dynamically by @milapsheth in #235
Full Changelog: v1.0.0...v1.1.0
v1.0.0
CHANGELOG
The major changes in this stable release compared to the beta release are:
- Tokens can be transferred directly via the ITS contract instead of TokenManagers, i.e provide the ERC20 approval (not needed for mint/burn tokens) to the ITS contract instead of the TokenManager.
- Separate
TokenManager
implementations have been consolidated into aTokenHandler
contract. This doesn't affect the API. - interchainTransfer now takes a
gasValue
param. This allows it to be used within a multicall (for e.g. transfer tokens to multiple chains in one tx). - InterchainTransfer event has a new
dataHash
field. This is set tokeccak256(data)
if a destination contract is being called with the transfer, andbytes32(0)
otherwise.InterchainTransferWithData
event type was removed as a result. - InterchainTokenExecutable.executeWithInterchainToken now takes
commandId
as well to allow apps to track individual messages. Similar change for the express executable. Distributable
has been renamed toMinter
for clarity. You can call transferMintership to transfer mint rights to a token.- Removed support for deploy + transfer to remote chains in
InterchainTokenFactory
to reduce complexity.InterchainTokenFactory.deployInterchainToken
will now mint the initial supply directly to the sender/deployer address. There is no need to transfer tokens from the factory to the sender anymore. - Renamed
BaseInterchainToken
to InterchainTokenStandard, and removed the coupling with anERC20
implementation. Custom interchain tokens can now inheritInterchainTokenStandard
directly to benefit from interchain transfer support. - Switch to using a minimal proxy for
InterchainToken
deployments to reduce gas usage significantly and support auto-proxy verification on explorers. - Passing
bytes4(uint32(1))
as the metadata version will pay for an express call on the gas service. This is relevant for an express relayer. - Misc bug fixes, test coverage, and improvements.
What's Changed
- chore: improve commandId doc by @milapsheth in #208
- refactor: separate transferToken method in token handler by @milapsheth in #209
- feat: add interchain proxy by @deanamiel in #210
- feat: express call from metadata by @Foivos in #212
- refactor(ITS): distributor -> minter by @re1ro in #211
- chore: update solidity 0.8.21 by @milapsheth in #215
- refactor(Factory): removing token transfer functions by @re1ro in #214
- refactor: remove ERC20 dependency from BaseInterchainToken by @milapsheth in #216
- feat: added gas value to interchain transfer methods by @Foivos in #219
- refactor: remove ITS interface dep in BaseInterchainToken by @milapsheth in #217
- fix: check token sender earlier by @milapsheth in #218
- refactor: rename BaseInterchainToken to InterchainTokenStandard by @milapsheth in #220
- feat: post refactor test coverage by @deanamiel in #213
- fix: return tokenId from deployInterchainToken by @milapsheth in #221
Full Changelog: v1.0.0-beta.4...v1.0.0
v1.0.0-beta.4
What's Changed
- feat: remove test coverage gaps by @deanamiel in #181
- fix: remove unpause txs by @deanamiel in #186
- refactor(Proxy): using generic proxy for ITS and Factory by @re1ro in #187
- feat: added a small sanity check by @Foivos in #191
- test(Service): gas usage reports by @re1ro in #184
- refactor(ITS protocol): unifying interchain transfer payload type by @re1ro in #189
- refactor(ITS): efficient Metadata decoding by @re1ro in #190
- feat: flow limit exceeded error by @deanamiel in #194
- feat: added ability to approve the service instead of the token manager by @Foivos in #195
- feat: bytecode checks by @deanamiel in #197
- feat: use a constant instead of type(uint256).max in two more places by @Foivos in #196
- feat: add compiler overrides for Proxy contracts by @milapsheth in #200
- chore: bump deps by @milapsheth in #199
- fix: set address(0) as operator/distributor by default by @milapsheth in #198
- fix(ITS): token type LOCK_UNLOCK_FEE express amount by @re1ro in #193
- fix(Factory): tracking deployer balance by @re1ro in #202
- feat: service token handling by @Foivos in #201
- refactor: clean up token specific express handling by @milapsheth in #203
- feat: add commandId to executables by @milapsheth in #204
- feat: bump release to v1.0.0-beta.4 by @milapsheth in #205
- test: preserve 0 flow limiter and update full flow test by @milapsheth in #206
- refactor: rename tests by @milapsheth in #207
Full Changelog: v1.0.0-beta.3...v1.0.0-beta.4
v1.0.0-beta.3
What's Changed
- feat: token service upgrade test by @deanamiel in #127
- feat: integrate @axelarjs/evm codegen tool by @alanrsoares in #167
- feat: canonical tokens cannot be gateway tokens by @Foivos in #169
- feat: proxy natspec by @deanamiel in #171
- feat: added some info in the tokenManagerProxy, which will cause some gas saving and will allow for a more powerfull design in the future. by @Foivos in #170
- feat: clone instead of fixed proxy by @Foivos in #168
- feat: final test coverage by @deanamiel in #172
- refactor: rename test contracts by @milapsheth in #174
- refactor: remove liquidity pool manager by @milapsheth in #175
- chore: update docs by @milapsheth in #176
- chore: address audit comments by @milapsheth in #177
- chore: use interchain across docs by @milapsheth in #178
- test: show more ways to transfer in full flows by @milapsheth in #179
- chore: bump release by @milapsheth in #180
- feat: final NatSpec documentation by @deanamiel in #173
Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3
v1.0.0-beta.2
What's Changed
- fix: typescript codegen by @alanrsoares in #163
- chore: bump version by @milapsheth in #164
New Contributors
- @alanrsoares made their first contribution in #163
Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2