You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/community-contracts/api/crosschain.mdx
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -208,14 +208,14 @@ This function revert if:
208
208
chain.
209
209
* someone tries re-execute a message that was already successfully delivered. This includes gateways that call
210
210
this function a second time with a message that was already executed.
211
-
* the execution of the message (on the [`IERC7786Receiver`](interfaces#IERC7786Receiver) receiver) is successful but fails to return the
211
+
* the execution of the message (on the [`IERC7786Receiver`](/community-contracts/api/interfaces#IERC7786Receiver) receiver) is successful but fails to return the
212
212
executed value.
213
213
214
214
This function does not revert if:
215
215
216
216
* A known gateway delivers a message for the first time, and that message was already executed. In that case
217
217
the message is NOT re-executed, and the correct "magic value" is returned.
218
-
* The execution of the message (on the [`IERC7786Receiver`](interfaces#IERC7786Receiver) receiver) reverts. In that case a [`ERC7786OpenBridge.ExecutionFailed`](#ERC7786OpenBridge-ExecutionFailed-bytes32-)
218
+
* The execution of the message (on the [`IERC7786Receiver`](/community-contracts/api/interfaces#IERC7786Receiver) receiver) reverts. In that case a [`ERC7786OpenBridge.ExecutionFailed`](#ERC7786OpenBridge-ExecutionFailed-bytes32-)
Implementation of an ERC-7786 gateway destination adapter for the Axelar Network in dual mode.
736
736
737
-
The contract implements AxelarExecutable's [`ERC7579DelayedExecutor._execute`](account#ERC7579DelayedExecutor-_execute-address-bytes32-bytes32-bytes-) function to execute the message, converting Axelar's native
737
+
The contract implements AxelarExecutable's [`ERC7579DelayedExecutor._execute`](/community-contracts/api/account#ERC7579DelayedExecutor-_execute-address-bytes32-bytes32-bytes-) function to execute the message, converting Axelar's native
738
738
workflow into the standard ERC-7786.
739
739
740
740
<Callout>
@@ -963,9 +963,9 @@ Endpoint for creating a new message. If the message requires further (gateway sp
963
963
it can be sent to the destination chain, then a non-zero `outboxId` must be returned. Otherwise, the
964
964
message MUST be sent and this function must return 0.
965
965
966
-
* MUST emit a [`IERC7786GatewaySource.MessageSent`](interfaces#IERC7786GatewaySource-MessageSent-bytes32-bytes-bytes-bytes-uint256-bytes---) event.
966
+
* MUST emit a [`IERC7786GatewaySource.MessageSent`](/community-contracts/api/interfaces#IERC7786GatewaySource-MessageSent-bytes32-bytes-bytes-bytes-uint256-bytes---) event.
967
967
968
-
If any of the `attributes` is not supported, this function SHOULD revert with an [`IERC7786GatewaySource.UnsupportedAttribute`](interfaces#IERC7786GatewaySource-UnsupportedAttribute-bytes4-) error.
968
+
If any of the `attributes` is not supported, this function SHOULD revert with an [`IERC7786GatewaySource.UnsupportedAttribute`](/community-contracts/api/interfaces#IERC7786GatewaySource-UnsupportedAttribute-bytes4-) error.
969
969
Other errors SHOULD revert with errors not specified in ERC-7786.
970
970
971
971
</div>
@@ -1721,9 +1721,9 @@ Endpoint for creating a new message. If the message requires further (gateway sp
1721
1721
it can be sent to the destination chain, then a non-zero `outboxId` must be returned. Otherwise, the
1722
1722
message MUST be sent and this function must return 0.
1723
1723
1724
-
* MUST emit a [`IERC7786GatewaySource.MessageSent`](interfaces#IERC7786GatewaySource-MessageSent-bytes32-bytes-bytes-bytes-uint256-bytes---) event.
1724
+
* MUST emit a [`IERC7786GatewaySource.MessageSent`](/community-contracts/api/interfaces#IERC7786GatewaySource-MessageSent-bytes32-bytes-bytes-bytes-uint256-bytes---) event.
1725
1725
1726
-
If any of the `attributes` is not supported, this function SHOULD revert with an [`IERC7786GatewaySource.UnsupportedAttribute`](interfaces#IERC7786GatewaySource-UnsupportedAttribute-bytes4-) error.
1726
+
If any of the `attributes` is not supported, this function SHOULD revert with an [`IERC7786GatewaySource.UnsupportedAttribute`](/community-contracts/api/interfaces#IERC7786GatewaySource-UnsupportedAttribute-bytes4-) error.
1727
1727
Other errors SHOULD revert with errors not specified in ERC-7786.
1728
1728
1729
1729
</div>
@@ -2009,4 +2009,3 @@ A chain equivalence has been registered.
Extension of [`PaymasterERC20`](account#PaymasterERC20) that allows to implement an allowlist
45
+
Extension of [`PaymasterERC20`](/community-contracts/api/account#PaymasterERC20) that allows to implement an allowlist
46
46
mechanism that can be managed by an authorized account with the
47
47
[`ERC20Allowlist._disallowUser`](#ERC20Allowlist-_disallowUser-address-) and [`ERC20Allowlist._allowUser`](#ERC20Allowlist-_allowUser-address-) functions.
48
48
@@ -270,7 +270,7 @@ The operation failed because the user is not allowed.
Extension of [`PaymasterERC20`](account#PaymasterERC20) that allows to implement a blocklist
273
+
Extension of [`PaymasterERC20`](/community-contracts/api/account#PaymasterERC20) that allows to implement a blocklist
274
274
mechanism that can be managed by an authorized account with the
275
275
[`ERC20Blocklist._blockUser`](#ERC20Blocklist-_blockUser-address-) and [`ERC20Blocklist._unblockUser`](#ERC20Blocklist-_unblockUser-address-) functions.
276
276
@@ -498,7 +498,7 @@ The operation failed because the user is blocked.
Extension of [`PaymasterERC20`](account#PaymasterERC20) that allows to implement user account transfer restrictions
1192
-
through the [`IERC7943Fungible.isUserAllowed`](interfaces#IERC7943Fungible-isUserAllowed-address-) function. Inspired by [EIP-7943](https://eips.ethereum.org/EIPS/eip-7943).
1191
+
Extension of [`PaymasterERC20`](/community-contracts/api/account#PaymasterERC20) that allows to implement user account transfer restrictions
1192
+
through the [`IERC7943Fungible.isUserAllowed`](/community-contracts/api/interfaces#IERC7943Fungible-isUserAllowed-address-) function. Inspired by [EIP-7943](https://eips.ethereum.org/EIPS/eip-7943).
1193
1193
1194
-
By default, each account has no explicit restriction. The [`IERC7943Fungible.isUserAllowed`](interfaces#IERC7943Fungible-isUserAllowed-address-) function acts as
1195
-
a blocklist. Developers can override [`IERC7943Fungible.isUserAllowed`](interfaces#IERC7943Fungible-isUserAllowed-address-) to check that `restriction == ALLOWED`
1194
+
By default, each account has no explicit restriction. The [`IERC7943Fungible.isUserAllowed`](/community-contracts/api/interfaces#IERC7943Fungible-isUserAllowed-address-) function acts as
1195
+
a blocklist. Developers can override [`IERC7943Fungible.isUserAllowed`](/community-contracts/api/interfaces#IERC7943Fungible-isUserAllowed-address-) to check that `restriction == ALLOWED`
1196
1196
to implement an allowlist.
1197
1197
1198
1198
<divclassName="bg-secondary p-4 rounded-md mb-6">
@@ -1318,8 +1318,8 @@ See `ERC20-_update`. Enforces restriction transfers (excluding minting and burni
1318
1318
1319
1319
Requirements:
1320
1320
1321
-
*`from` must be allowed to transfer tokens (see [`IERC7943Fungible.isUserAllowed`](interfaces#IERC7943Fungible-isUserAllowed-address-)).
1322
-
*`to` must be allowed to receive tokens (see [`IERC7943Fungible.isUserAllowed`](interfaces#IERC7943Fungible-isUserAllowed-address-)).
1321
+
*`from` must be allowed to transfer tokens (see [`IERC7943Fungible.isUserAllowed`](/community-contracts/api/interfaces#IERC7943Fungible-isUserAllowed-address-)).
1322
+
*`to` must be allowed to receive tokens (see [`IERC7943Fungible.isUserAllowed`](/community-contracts/api/interfaces#IERC7943Fungible-isUserAllowed-address-)).
1323
1323
1324
1324
</div>
1325
1325
</div>
@@ -1460,7 +1460,7 @@ The operation failed because the user account is restricted.
Extension of [`PaymasterERC20`](account#PaymasterERC20) according to [EIP-7943](https://eips.ethereum.org/EIPS/eip-7943).
1463
+
Extension of [`PaymasterERC20`](/community-contracts/api/account#PaymasterERC20) according to [EIP-7943](https://eips.ethereum.org/EIPS/eip-7943).
1464
1464
1465
1465
Combines standard ERC-20 functionality with RWA-specific features like user restrictions,
1466
1466
asset freezing, and forced asset transfers.
@@ -1619,7 +1619,7 @@ This function call must use less than 30 000 gas.
1619
1619
</div>
1620
1620
<divclassName="px-4">
1621
1621
1622
-
See [`IERC7943Fungible.canTransfer`](interfaces#IERC7943Fungible-canTransfer-address-address-uint256-).
1622
+
See [`IERC7943Fungible.canTransfer`](/community-contracts/api/interfaces#IERC7943Fungible-canTransfer-address-address-uint256-).
1623
1623
1624
1624
<Callouttype="warn">
1625
1625
This function is only meant for external use. Overriding it will not apply the new checks to
@@ -1656,10 +1656,10 @@ the internal [`ERC20Allowlist._update`](#ERC20Allowlist-_update-address-address-
1656
1656
</div>
1657
1657
<divclassName="px-4">
1658
1658
1659
-
See [`IERC7943Fungible.setFrozenTokens`](interfaces#IERC7943Fungible-setFrozenTokens-address-uint256-).
1659
+
See [`IERC7943Fungible.setFrozenTokens`](/community-contracts/api/interfaces#IERC7943Fungible-setFrozenTokens-address-uint256-).
1660
1660
1661
1661
<Callout>
1662
-
The `amount` is capped to the balance of the `user` to ensure the [`IERC7943Fungible.Frozen`](interfaces#IERC7943Fungible-Frozen-address-uint256-) event
1662
+
The `amount` is capped to the balance of the `user` to ensure the [`IERC7943Fungible.Frozen`](/community-contracts/api/interfaces#IERC7943Fungible-Frozen-address-uint256-) event
1663
1663
emits values that consistently reflect the actual amount of tokens that are frozen.
1664
1664
</Callout>
1665
1665
@@ -1678,7 +1678,7 @@ emits values that consistently reflect the actual amount of tokens that are froz
1678
1678
</div>
1679
1679
<divclassName="px-4">
1680
1680
1681
-
See [`IERC7943Fungible.forcedTransfer`](interfaces#IERC7943Fungible-forcedTransfer-address-address-uint256-).
1681
+
See [`IERC7943Fungible.forcedTransfer`](/community-contracts/api/interfaces#IERC7943Fungible-forcedTransfer-address-address-uint256-).
1682
1682
1683
1683
Bypasses the [`ERC20Restricted`](#ERC20Restricted) restrictions for the `from` address and adjusts the frozen balance
1684
1684
to the new balance after the transfer.
@@ -1709,7 +1709,7 @@ Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints
1709
1709
(or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding
1710
1710
this function.
1711
1711
1712
-
Emits a [`ERC7786OpenBridge.UnsupportedNativeTransfer`](crosschain#ERC7786OpenBridge-UnsupportedNativeTransfer--) event.
1712
+
Emits a [`ERC7786OpenBridge.UnsupportedNativeTransfer`](/community-contracts/api/crosschain#ERC7786OpenBridge-UnsupportedNativeTransfer--) event.
1713
1713
1714
1714
</div>
1715
1715
</div>
@@ -2075,4 +2075,3 @@ Chainlink's Link, that implement the 667 interface for transferAndCall.
0 commit comments