Fork build of @cartridge/controller + @cartridge/connector (base 0.13.12, upstream cartridge-gg/controller@10dabcbe) exposing the controller WASM's signExecuteFromOutside end-to-end.
What's in this build
ControllerAccount.getOutsideTransaction(options, calls)now returns a signed (not submitted) SNIP-9 V3 outside execution:{ outsideExecution: { caller, nonce: [channel, bitmask], execute_after, execute_before, calls: [{to, selector, calldata}] }, signature, signerAddress, version: "3" }.- The WASM chooses the envelope: caller
'ANY_CALLER',execute_after = 0,execute_before = now + 600s, fresh random V3 nonce pair. Theoptionsargument is accepted for starknet.js signature compatibility and ignored. - Capability detection: if the connected keychain (e.g. production x.cartridge.gg today) does not register the
signExecuteFromOutsideRPC method, the call throwsControllerOutsideExecutionUnsupported(match onerror.name). Also thrown when the keychain has no connected controller, and always fromSessionAccount(connector idcontroller_session). - Keychain: new
signExecuteFromOutsidepenpal RPC handler wrapping the existing WASM method. Note: this only takes effect against a keychain deployment built from this branch — the dapp-side package detects absence on older keychains.
Install (pnpm overrides)
{
"pnpm": {
"overrides": {
"@cartridge/controller": "https://github.com/Provable-Games/controller/releases/download/v0.13.12-provable-oe.1/cartridge-controller-0.13.12-provable-oe.1.tgz",
"@cartridge/connector": "https://github.com/Provable-Games/controller/releases/download/v0.13.12-provable-oe.1/cartridge-connector-0.13.12-provable-oe.1.tgz"
}
}
}