Skip to content

v0.13.12-provable-oe.1 — signExecuteFromOutside / getOutsideTransaction

Latest

Choose a tag to compare

@loothero loothero released this 11 Jun 18:17
a8bcf07

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. The options argument 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 signExecuteFromOutside RPC method, the call throws ControllerOutsideExecutionUnsupported (match on error.name). Also thrown when the keychain has no connected controller, and always from SessionAccount (connector id controller_session).
  • Keychain: new signExecuteFromOutside penpal 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"
    }
  }
}