├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_spec.md ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── abi_bindings_checker.yml │ ├── codeql.yml │ ├── gomod_checker.yml │ ├── linter.yml │ ├── slither.yml │ ├── snyk.yml │ └── test.yml ├── .gitignore ├── .gitmodules ├── .golangci.yml ├── LICENSE ├── README.md ├── SECURITY.md ├── abi-bindings └── go │ ├── ProxyAdmin │ └── ProxyAdmin.go │ ├── TokenHome │ ├── ERC20TokenHome │ │ └── ERC20TokenHome.go │ ├── ERC20TokenHomeUpgradeable │ │ └── ERC20TokenHomeUpgradeable.go │ ├── NativeTokenHome │ │ └── NativeTokenHome.go │ ├── NativeTokenHomeUpgradeable │ │ └── NativeTokenHomeUpgradeable.go │ └── TokenHome │ │ └── TokenHome.go │ ├── TokenRemote │ ├── ERC20TokenRemote │ │ └── ERC20TokenRemote.go │ ├── ERC20TokenRemoteUpgradeable │ │ └── ERC20TokenRemoteUpgradeable.go │ ├── NativeTokenRemote │ │ └── NativeTokenRemote.go │ ├── NativeTokenRemoteUpgradeable │ │ └── NativeTokenRemoteUpgradeable.go │ └── TokenRemote │ │ └── TokenRemote.go │ ├── TransparentUpgradeableProxy │ └── TransparentUpgradeableProxy.go │ ├── WrappedNativeToken │ └── WrappedNativeToken.go │ └── mocks │ ├── ExampleERC20Decimals │ └── ExampleERC20Decimals.go │ ├── MockERC20SendAndCallReceiver │ └── MockERC20SendAndCallReceiver.go │ └── MockNativeSendAndCallReceiver │ └── MockNativeSendAndCallReceiver.go ├── audits ├── OpenZeppelin Audit (June 26th 2024).pdf └── README.md ├── contracts ├── .solhint.json ├── .solhintignore ├── README.md ├── foundry.toml ├── remappings.txt ├── src │ ├── TokenHome │ │ ├── ERC20TokenHome.sol │ │ ├── ERC20TokenHomeUpgradeable.sol │ │ ├── NativeTokenHome.sol │ │ ├── NativeTokenHomeUpgradeable.sol │ │ ├── TokenHome.sol │ │ └── interfaces │ │ │ ├── IERC20TokenHome.sol │ │ │ ├── INativeTokenHome.sol │ │ │ └── ITokenHome.sol │ ├── TokenRemote │ │ ├── ERC20TokenRemote.sol │ │ ├── ERC20TokenRemoteUpgradeable.sol │ │ ├── NativeTokenRemote.sol │ │ ├── NativeTokenRemoteUpgradeable.sol │ │ ├── TokenRemote.sol │ │ └── interfaces │ │ │ ├── INativeTokenRemote.sol │ │ │ └── ITokenRemote.sol │ ├── WrappedNativeToken.sol │ ├── interfaces │ │ ├── IERC20SendAndCallReceiver.sol │ │ ├── IERC20TokenTransferrer.sol │ │ ├── INativeSendAndCallReceiver.sol │ │ ├── INativeTokenTransferrer.sol │ │ ├── ITokenTransferrer.sol │ │ └── IWrappedNativeToken.sol │ ├── mocks │ │ ├── ExampleERC20Decimals.sol │ │ ├── MockERC20SendAndCallReceiver.sol │ │ └── MockNativeSendAndCallReceiver.sol │ └── utils │ │ ├── CallUtils.sol │ │ ├── ICTTInitializable.sol │ │ ├── SafeERC20TransferFrom.sol │ │ ├── SafeWrappedNativeTokenDeposit.sol │ │ ├── SendReentrancyGuard.sol │ │ └── TokenScalingUtils.sol └── test │ ├── ERC20TokenHomeTests.t.sol │ ├── ERC20TokenRemoteTests.t.sol │ ├── ERC20TokenTransferrerTests.t.sol │ ├── ExampleERC20DecimalsTests.t.sol │ ├── MockSendAndCallReceiverTest.t.sol │ ├── NativeTokenHomeTests.t.sol │ ├── NativeTokenRemoteTests.t.sol │ ├── NativeTokenTransferrerTests.t.sol │ ├── StorageSlotTests.t.sol │ ├── TokenHomeTests.t.sol │ ├── TokenRemoteTests.t.sol │ ├── TokenTransferrerTests.t.sol │ └── WrappedNativeTokenTests.t.sol ├── go.mod ├── go.sum ├── scripts ├── abi_bindings.sh ├── constants.sh ├── e2e_test.sh ├── install_foundry.sh ├── lint.sh └── versions.sh └── tests ├── errors └── errors.go ├── flows ├── erc20_home_erc20_remote.go ├── erc20_home_erc20_remote_multihop.go ├── erc20_home_erc20_remote_send_and_call.go ├── erc20_home_native_remote.go ├── erc20_home_native_remote_multihop.go ├── native_home_erc20_remote.go ├── native_home_erc20_remote_multihop.go ├── native_home_native_remote.go ├── native_home_native_remote_multihop.go ├── registration_and_collateral_check.go └── transparent_proxy_upgradeability.go ├── local └── e2e_test.go └── utils ├── constants.go ├── token_scaling.go ├── utils.go └── warp-genesis-template.json /.github/CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/CODEOWNERS -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/ISSUE_TEMPLATE/feature_spec.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/abi_bindings_checker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/abi_bindings_checker.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/gomod_checker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/gomod_checker.yml -------------------------------------------------------------------------------- /.github/workflows/linter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/linter.yml -------------------------------------------------------------------------------- /.github/workflows/slither.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/slither.yml -------------------------------------------------------------------------------- /.github/workflows/snyk.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/snyk.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.gitmodules -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/SECURITY.md -------------------------------------------------------------------------------- /abi-bindings/go/ProxyAdmin/ProxyAdmin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/ProxyAdmin/ProxyAdmin.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenHome/ERC20TokenHome/ERC20TokenHome.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenHome/ERC20TokenHome/ERC20TokenHome.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenHome/ERC20TokenHomeUpgradeable/ERC20TokenHomeUpgradeable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenHome/ERC20TokenHomeUpgradeable/ERC20TokenHomeUpgradeable.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenHome/NativeTokenHome/NativeTokenHome.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenHome/NativeTokenHome/NativeTokenHome.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenHome/NativeTokenHomeUpgradeable/NativeTokenHomeUpgradeable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenHome/NativeTokenHomeUpgradeable/NativeTokenHomeUpgradeable.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenHome/TokenHome/TokenHome.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenHome/TokenHome/TokenHome.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenRemote/ERC20TokenRemote/ERC20TokenRemote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenRemote/ERC20TokenRemote/ERC20TokenRemote.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenRemote/ERC20TokenRemoteUpgradeable/ERC20TokenRemoteUpgradeable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenRemote/ERC20TokenRemoteUpgradeable/ERC20TokenRemoteUpgradeable.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenRemote/NativeTokenRemote/NativeTokenRemote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenRemote/NativeTokenRemote/NativeTokenRemote.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenRemote/NativeTokenRemoteUpgradeable/NativeTokenRemoteUpgradeable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenRemote/NativeTokenRemoteUpgradeable/NativeTokenRemoteUpgradeable.go -------------------------------------------------------------------------------- /abi-bindings/go/TokenRemote/TokenRemote/TokenRemote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TokenRemote/TokenRemote/TokenRemote.go -------------------------------------------------------------------------------- /abi-bindings/go/TransparentUpgradeableProxy/TransparentUpgradeableProxy.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/TransparentUpgradeableProxy/TransparentUpgradeableProxy.go -------------------------------------------------------------------------------- /abi-bindings/go/WrappedNativeToken/WrappedNativeToken.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/WrappedNativeToken/WrappedNativeToken.go -------------------------------------------------------------------------------- /abi-bindings/go/mocks/ExampleERC20Decimals/ExampleERC20Decimals.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/mocks/ExampleERC20Decimals/ExampleERC20Decimals.go -------------------------------------------------------------------------------- /abi-bindings/go/mocks/MockERC20SendAndCallReceiver/MockERC20SendAndCallReceiver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/mocks/MockERC20SendAndCallReceiver/MockERC20SendAndCallReceiver.go -------------------------------------------------------------------------------- /abi-bindings/go/mocks/MockNativeSendAndCallReceiver/MockNativeSendAndCallReceiver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/abi-bindings/go/mocks/MockNativeSendAndCallReceiver/MockNativeSendAndCallReceiver.go -------------------------------------------------------------------------------- /audits/OpenZeppelin Audit (June 26th 2024).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/audits/OpenZeppelin Audit (June 26th 2024).pdf -------------------------------------------------------------------------------- /audits/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/audits/README.md -------------------------------------------------------------------------------- /contracts/.solhint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/.solhint.json -------------------------------------------------------------------------------- /contracts/.solhintignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | -------------------------------------------------------------------------------- /contracts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/README.md -------------------------------------------------------------------------------- /contracts/foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/foundry.toml -------------------------------------------------------------------------------- /contracts/remappings.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/remappings.txt -------------------------------------------------------------------------------- /contracts/src/TokenHome/ERC20TokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/ERC20TokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/ERC20TokenHomeUpgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/ERC20TokenHomeUpgradeable.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/NativeTokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/NativeTokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/NativeTokenHomeUpgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/NativeTokenHomeUpgradeable.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/TokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/TokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/interfaces/IERC20TokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/interfaces/IERC20TokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/interfaces/INativeTokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/interfaces/INativeTokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenHome/interfaces/ITokenHome.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenHome/interfaces/ITokenHome.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/ERC20TokenRemote.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/ERC20TokenRemote.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/ERC20TokenRemoteUpgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/ERC20TokenRemoteUpgradeable.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/NativeTokenRemote.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/NativeTokenRemote.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/NativeTokenRemoteUpgradeable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/NativeTokenRemoteUpgradeable.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/TokenRemote.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/TokenRemote.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/interfaces/INativeTokenRemote.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/interfaces/INativeTokenRemote.sol -------------------------------------------------------------------------------- /contracts/src/TokenRemote/interfaces/ITokenRemote.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/TokenRemote/interfaces/ITokenRemote.sol -------------------------------------------------------------------------------- /contracts/src/WrappedNativeToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/WrappedNativeToken.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/IERC20SendAndCallReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/IERC20SendAndCallReceiver.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/IERC20TokenTransferrer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/IERC20TokenTransferrer.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/INativeSendAndCallReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/INativeSendAndCallReceiver.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/INativeTokenTransferrer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/INativeTokenTransferrer.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/ITokenTransferrer.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/ITokenTransferrer.sol -------------------------------------------------------------------------------- /contracts/src/interfaces/IWrappedNativeToken.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/interfaces/IWrappedNativeToken.sol -------------------------------------------------------------------------------- /contracts/src/mocks/ExampleERC20Decimals.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/mocks/ExampleERC20Decimals.sol -------------------------------------------------------------------------------- /contracts/src/mocks/MockERC20SendAndCallReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/mocks/MockERC20SendAndCallReceiver.sol -------------------------------------------------------------------------------- /contracts/src/mocks/MockNativeSendAndCallReceiver.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/mocks/MockNativeSendAndCallReceiver.sol -------------------------------------------------------------------------------- /contracts/src/utils/CallUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/CallUtils.sol -------------------------------------------------------------------------------- /contracts/src/utils/ICTTInitializable.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/ICTTInitializable.sol -------------------------------------------------------------------------------- /contracts/src/utils/SafeERC20TransferFrom.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/SafeERC20TransferFrom.sol -------------------------------------------------------------------------------- /contracts/src/utils/SafeWrappedNativeTokenDeposit.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/SafeWrappedNativeTokenDeposit.sol -------------------------------------------------------------------------------- /contracts/src/utils/SendReentrancyGuard.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/SendReentrancyGuard.sol -------------------------------------------------------------------------------- /contracts/src/utils/TokenScalingUtils.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/src/utils/TokenScalingUtils.sol -------------------------------------------------------------------------------- /contracts/test/ERC20TokenHomeTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/ERC20TokenHomeTests.t.sol -------------------------------------------------------------------------------- /contracts/test/ERC20TokenRemoteTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/ERC20TokenRemoteTests.t.sol -------------------------------------------------------------------------------- /contracts/test/ERC20TokenTransferrerTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/ERC20TokenTransferrerTests.t.sol -------------------------------------------------------------------------------- /contracts/test/ExampleERC20DecimalsTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/ExampleERC20DecimalsTests.t.sol -------------------------------------------------------------------------------- /contracts/test/MockSendAndCallReceiverTest.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/MockSendAndCallReceiverTest.t.sol -------------------------------------------------------------------------------- /contracts/test/NativeTokenHomeTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/NativeTokenHomeTests.t.sol -------------------------------------------------------------------------------- /contracts/test/NativeTokenRemoteTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/NativeTokenRemoteTests.t.sol -------------------------------------------------------------------------------- /contracts/test/NativeTokenTransferrerTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/NativeTokenTransferrerTests.t.sol -------------------------------------------------------------------------------- /contracts/test/StorageSlotTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/StorageSlotTests.t.sol -------------------------------------------------------------------------------- /contracts/test/TokenHomeTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/TokenHomeTests.t.sol -------------------------------------------------------------------------------- /contracts/test/TokenRemoteTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/TokenRemoteTests.t.sol -------------------------------------------------------------------------------- /contracts/test/TokenTransferrerTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/TokenTransferrerTests.t.sol -------------------------------------------------------------------------------- /contracts/test/WrappedNativeTokenTests.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/contracts/test/WrappedNativeTokenTests.t.sol -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/go.sum -------------------------------------------------------------------------------- /scripts/abi_bindings.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/abi_bindings.sh -------------------------------------------------------------------------------- /scripts/constants.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/constants.sh -------------------------------------------------------------------------------- /scripts/e2e_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/e2e_test.sh -------------------------------------------------------------------------------- /scripts/install_foundry.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/install_foundry.sh -------------------------------------------------------------------------------- /scripts/lint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/lint.sh -------------------------------------------------------------------------------- /scripts/versions.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/scripts/versions.sh -------------------------------------------------------------------------------- /tests/errors/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/errors/errors.go -------------------------------------------------------------------------------- /tests/flows/erc20_home_erc20_remote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/erc20_home_erc20_remote.go -------------------------------------------------------------------------------- /tests/flows/erc20_home_erc20_remote_multihop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/erc20_home_erc20_remote_multihop.go -------------------------------------------------------------------------------- /tests/flows/erc20_home_erc20_remote_send_and_call.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/erc20_home_erc20_remote_send_and_call.go -------------------------------------------------------------------------------- /tests/flows/erc20_home_native_remote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/erc20_home_native_remote.go -------------------------------------------------------------------------------- /tests/flows/erc20_home_native_remote_multihop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/erc20_home_native_remote_multihop.go -------------------------------------------------------------------------------- /tests/flows/native_home_erc20_remote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/native_home_erc20_remote.go -------------------------------------------------------------------------------- /tests/flows/native_home_erc20_remote_multihop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/native_home_erc20_remote_multihop.go -------------------------------------------------------------------------------- /tests/flows/native_home_native_remote.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/native_home_native_remote.go -------------------------------------------------------------------------------- /tests/flows/native_home_native_remote_multihop.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/native_home_native_remote_multihop.go -------------------------------------------------------------------------------- /tests/flows/registration_and_collateral_check.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/registration_and_collateral_check.go -------------------------------------------------------------------------------- /tests/flows/transparent_proxy_upgradeability.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/flows/transparent_proxy_upgradeability.go -------------------------------------------------------------------------------- /tests/local/e2e_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/local/e2e_test.go -------------------------------------------------------------------------------- /tests/utils/constants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/utils/constants.go -------------------------------------------------------------------------------- /tests/utils/token_scaling.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/utils/token_scaling.go -------------------------------------------------------------------------------- /tests/utils/utils.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/utils/utils.go -------------------------------------------------------------------------------- /tests/utils/warp-genesis-template.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ava-labs/avalanche-interchain-token-transfer/HEAD/tests/utils/warp-genesis-template.json --------------------------------------------------------------------------------