Safe Multisig API
API for Safe Multisig. Every ABI item below is callable as its own Spectrum JSON-RPC method. See the Marketplace overview for how the method names are built.
Wallets
Method names here carry no chain, so every call must pass chain and the contract address that implements this ABI.
Methods
Functions
ReadgetThresholdspectrum_safemultisig_safe_call_getThreshold
Fetches the threshold of the multisig
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_call_getThreshold",
"params": {
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_call_getThreshold',
{
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_call_getThreshold",
"abiName": "getThreshold",
"deploymentName": "safe",
"operation": "call",
"abiType": "function",
"outputs": [
"0"
]
}
}Outputs
| Name | Type |
|---|---|
output_0Threshold | uint256 |
ReadgetOwnersspectrum_safemultisig_safe_call_getOwners
Fetches the owners of the multisig
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_call_getOwners",
"params": {
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_call_getOwners',
{
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_call_getOwners",
"abiName": "getOwners",
"deploymentName": "safe",
"operation": "call",
"abiType": "function",
"outputs": [
[]
]
}
}Outputs
| Name | Type |
|---|---|
output_0Array of owner addresses | address[] |
Readnoncespectrum_safemultisig_safe_call_nonce
Fetches the nonce of the multisig
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_call_nonce",
"params": {
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_call_nonce',
{
"args": [],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_call_nonce",
"abiName": "nonce",
"deploymentName": "safe",
"operation": "call",
"abiType": "function",
"outputs": [
"0"
]
}
}Outputs
| Name | Type |
|---|---|
output_0Nonce | uint256 |
ReadgetTransactionHashspectrum_safemultisig_safe_call_getTransactionHash
Fetches a particular transaction hash
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_call_getTransactionHash",
"params": {
"args": [
"0x0000000000000000000000000000000000000001",
"0",
"0x",
"0",
"0",
"0",
"0",
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000001",
"0"
],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_call_getTransactionHash',
{
"args": [
"0x0000000000000000000000000000000000000001",
"0",
"0x",
"0",
"0",
"0",
"0",
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000001",
"0"
],
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_call_getTransactionHash",
"abiName": "getTransactionHash",
"deploymentName": "safe",
"operation": "call",
"abiType": "function",
"outputs": [
"0x"
]
}
}Inputs
| Name | Type |
|---|---|
to | address |
value | uint256 |
data | bytes |
operation | uint8 |
safeTxGas | uint256 |
baseGas | uint256 |
gasPrice | uint256 |
gasToken | address |
refundReceiver | address |
_nonce | uint256 |
Outputs
| Name | Type |
|---|---|
output_0 | bytes32 |
WriteexecTransactionspectrum_safemultisig_safe_simulateCall_execTransaction
Executes a transaction
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_simulateCall_execTransaction",
"params": {
"args": [
"0x0000000000000000000000000000000000000001",
"0",
"0x",
"0",
"0",
"0",
"0",
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000001",
"0x"
],
"from": "0x0000000000000000000000000000000000000001",
"value": "0x0",
"height": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_simulateCall_execTransaction',
{
"args": [
"0x0000000000000000000000000000000000000001",
"0",
"0x",
"0",
"0",
"0",
"0",
"0x0000000000000000000000000000000000000001",
"0x0000000000000000000000000000000000000001",
"0x"
],
"from": "0x0000000000000000000000000000000000000001",
"value": "0x0",
"height": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_simulateCall_execTransaction",
"abiName": "execTransaction",
"deploymentName": "safe",
"operation": "simulateCall",
"abiType": "function",
"status": "0x1",
"gasUsed": "0x5208",
"logs": [],
"outputs": [
false
]
}
}Inputs
| Name | Type |
|---|---|
to | address |
value | uint256 |
data | bytes |
operation | uint8 |
safeTxGas | uint256 |
baseGas | uint256 |
gasPrice | uint256 |
gasToken | address |
refundReceiver | address |
signatures | bytes |
Outputs
| Name | Type |
|---|---|
success | bool |
Events
EventExecutionSuccessspectrum_safemultisig_safe_getLogs_ExecutionSuccess
Event emitted when an execution suceeds
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_getLogs_ExecutionSuccess",
"params": {
"args": [
null,
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_getLogs_ExecutionSuccess',
{
"args": [
null,
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_getLogs_ExecutionSuccess",
"abiName": "ExecutionSuccess",
"deploymentName": "safe",
"operation": "getLogs",
"abiType": "event",
"count": 1,
"limit": 100,
"hasMore": false,
"cursor": null,
"logs": [
{
"address": "0x0000000000000000000000000000000000000001",
"blockNumber": 24510927,
"transactionHash": "0x867cbb7b...",
"logIndex": 1,
"args": [
"0x",
"0"
]
}
]
}
}Event arguments
| Name | Type | Indexed |
|---|---|---|
txHash | bytes32 | no |
payment | uint256 | no |
EventAddedOwnerspectrum_safemultisig_safe_getLogs_AddedOwner
Event emitted when an owner is added
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_getLogs_AddedOwner",
"params": {
"args": [
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_getLogs_AddedOwner',
{
"args": [
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_getLogs_AddedOwner",
"abiName": "AddedOwner",
"deploymentName": "safe",
"operation": "getLogs",
"abiType": "event",
"count": 1,
"limit": 100,
"hasMore": false,
"cursor": null,
"logs": [
{
"address": "0x0000000000000000000000000000000000000001",
"blockNumber": 24510927,
"transactionHash": "0x867cbb7b...",
"logIndex": 1,
"args": [
"0x0000000000000000000000000000000000000001"
]
}
]
}
}Event arguments
| Name | Type | Indexed |
|---|---|---|
ownerOwner which was added | address | no |
EventRemovedOwnerspectrum_safemultisig_safe_getLogs_RemovedOwner
Event emitted when an owner is removed
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "spectrum_safemultisig_safe_getLogs_RemovedOwner",
"params": {
"args": [
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
"id": 1
}'spectrum.marketplace.call(
'spectrum_safemultisig_safe_getLogs_RemovedOwner',
{
"args": [
null
],
"fromBlock": "latest",
"toBlock": "latest",
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001"
},
){
"data": {
"chain": "ethereum",
"address": "0x0000000000000000000000000000000000000001",
"method": "spectrum_safemultisig_safe_getLogs_RemovedOwner",
"abiName": "RemovedOwner",
"deploymentName": "safe",
"operation": "getLogs",
"abiType": "event",
"count": 1,
"limit": 100,
"hasMore": false,
"cursor": null,
"logs": [
{
"address": "0x0000000000000000000000000000000000000001",
"blockNumber": 24510927,
"transactionHash": "0x867cbb7b...",
"logIndex": 1,
"args": [
"0x0000000000000000000000000000000000000001"
]
}
]
}
}Event arguments
| Name | Type | Indexed |
|---|---|---|
ownerOwner which was removed | address | no |
