SymmioPartyB Contract

The SymmioPartyB contract is the core execution proxy for Party B actors. It provides secure routing, multi-call support, and fine-grained permissioning for interactions with the Symmio core contracts.

This contract allows Party B to batch trade operations, authorize token flows, and interface with both internal and whitelisted external contracts.

Core Functions

๐Ÿ”น Symmio Call Dispatcher

function _call(bytes[] calldata callDatas) external;

Forwards multiple encoded calls to the Symmio core (e.g., opening or closing trades). Enforces selector-level permissions:

  • restrictedSelectors[sel] == true: requires MANAGER_ROLE

  • otherwise: TRUSTED_ROLE or InstantLayer delegate is sufficient

Reverts if any call fails.

๐Ÿ”น Multicast Executor

function _multicastCall(
    address[] calldata dests,
    bytes[] calldata datas
) external;

Sends parallel external calls to approved targets. All destination contracts must be whitelisted. Requires TRUSTED_ROLE.

๐Ÿ”น Token Management

Sets Symmio token allowances. Callable by TRUSTED_ROLE.

Withdraws tokens to the caller. Restricted to MANAGER_ROLE.

๐Ÿ”น Configuration Functions

Marks a core selector as restricted to MANAGER_ROLE.

Controls which external contracts can be called via _multicastCall.

Updates the ERC-1271 signer address used for off-chain validation.

๐Ÿ”น Signature Verification

Returns 0x1626ba7e if signature is valid; otherwise 0xffffffff.

๐Ÿ”น Emergency Controls

Enables or disables contract functions under emergency conditions. Controlled via PAUSER_ROLE / UNPAUSER_ROLE.

Once the cooldown period has elapsed, the withdrawal can be finalized:

Last updated