Skip to main content

ARRAY_BUILDER

ARRAY_BUILDER Workflow

ARRAY_BUILDER collects multiple upstream data values into a single typed array. Use it to feed FOR_EACH, BUILD_EVM_MULTICALL, Gnosis Safe owner lists, or any component that expects an array input.


How it works

ARRAY_BUILDER accepts any number of dynamic input variables. Each connected upstream output becomes one element in the output array. The order of elements matches the order connections were created.

COMPUTE_EVM_ADDRESS (owner 1) ──┐
COMPUTE_EVM_ADDRESS (owner 2) ──┤──▶ ARRAY_BUILDER ──▶ owners[]
COMPUTE_EVM_ADDRESS (owner 3) ──┘

Inputs

ARRAY_BUILDER uses dynamic variables — you define the inputs at design time in the component panel. There are no fixed input fields.

Each dynamic input becomes an element in the output array.


Outputs

PortTypeDescription
arrayT[]Collected array of all connected inputs. Element type is inferred from the connected sources.

Examples

Build a Safe owner list

COMPUTE_EVM_ADDRESS (key 1) ──┐
COMPUTE_EVM_ADDRESS (key 2) ──┤──▶ ARRAY_BUILDER ──▶ GET_EVM_SAFE_ADDRESS
COMPUTE_EVM_ADDRESS (key 3) ──┘ │

BUILD_EVM_GNOSIS_SAFE_DEPLOYMENT

Batch multicall items

BUILD_EVM_MULTICALL_ITEM (call 1) ──┐
BUILD_EVM_MULTICALL_ITEM (call 2) ──┤──▶ ARRAY_BUILDER ──▶ BUILD_EVM_MULTICALL
BUILD_EVM_MULTICALL_ITEM (call 3) ──┘

Feed FOR_EACH with static items

Connect STRING_CONSTANT components to ARRAY_BUILDER to create a static iteration list:

STRING_CONSTANT ("0xAddr1") ──┐
STRING_CONSTANT ("0xAddr2") ──┤──▶ ARRAY_BUILDER ──▶ FOR_EACH
STRING_CONSTANT ("0xAddr3") ──┘

Notes

  • The array element type is inferred from connected sources — the port tooltip shows the resolved type (e.g. array<EvmAddress>)
  • Order of elements corresponds to the order connections appear in the component panel
  • ARRAY_BUILDER does not transform values — it simply wraps inputs into an array