* accounts, signer: implement gnosis safe support * common/math: add type for marshalling big to dec * accounts, signer: properly sign gnosis requests * signer, clef: implement account_signGnosisTx * signer: fix auditlog print, change rpc-name (signGnosisTx to signGnosisSafeTx) * signer: pass validation-messages/warnings to the UI for gnonsis-safe txs * signer/core: minor change to validationmessages of typed data
		
			
				
	
	
	
		
			3.7 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.7 KiB
		
	
	
	
	
	
	
	
Changelog for external API
The API uses semantic versioning.
TL;DR: Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
6.1.0
The API-method account_signGnosisSafeTx was added. This method takes two parameters,
[address, safeTx]. The latter, safeTx, can be copy-pasted from the gnosis relay. For example:
{
  "jsonrpc": "2.0",
  "method": "account_signGnosisSafeTx",
  "params": ["0xfd1c4226bfD1c436672092F4eCbfC270145b7256",
    {
      "safe": "0x25a6c4BBd32B2424A9c99aEB0584Ad12045382B3",
      "to": "0xB372a646f7F05Cc1785018dBDA7EBc734a2A20E2",
      "value": "20000000000000000",
      "data": null,
      "operation": 0,
      "gasToken": "0x0000000000000000000000000000000000000000",
      "safeTxGas": 27845,
      "baseGas": 0,
      "gasPrice": "0",
      "refundReceiver": "0x0000000000000000000000000000000000000000",
      "nonce": 2,
      "executionDate": null,
      "submissionDate": "2020-09-15T21:54:49.617634Z",
      "modified": "2020-09-15T21:54:49.617634Z",
      "blockNumber": null,
      "transactionHash": null,
      "safeTxHash": "0x2edfbd5bc113ff18c0631595db32eb17182872d88d9bf8ee4d8c2dd5db6d95e2",
      "executor": null,
      "isExecuted": false,
      "isSuccessful": null,
      "ethGasPrice": null,
      "gasUsed": null,
      "fee": null,
      "origin": null,
      "dataDecoded": null,
      "confirmationsRequired": null,
      "confirmations": [
        {
          "owner": "0xAd2e180019FCa9e55CADe76E4487F126Fd08DA34",
          "submissionDate": "2020-09-15T21:54:49.663299Z",
          "transactionHash": null,
          "confirmationType": "CONFIRMATION",
          "signature": "0x95a7250bb645f831c86defc847350e7faff815b2fb586282568e96cc859e39315876db20a2eed5f7a0412906ec5ab57652a6f645ad4833f345bda059b9da2b821c",
          "signatureType": "EOA"
        }
      ],
      "signatures": null
    }
  ],
  "id": 67
}
Not all fields are required, though. This method is really just a UX helper, which massages the
input to conform to the EIP-712 specification
for the Gnosis Safe, and making the output be directly importable to by a relay service.
6.0.0
- Newwas changed to deliver only an address, not the full- Accountdata
- Exportwas moved from External API to the UI Server API
5.0.0
- The external account_EcRecover-method was reimplemented.
- The external method account_sign(address, data)was replaced withaccount_signData(contentType, address, data). The addition ofcontentTypemakes it possible to use the method for different types of objects, such as:- signing data with an intended validator (not yet implemented)
- signing clique headers,
- signing plain personal messages,
 
- The external method account_signTypedDataimplements EIP-712 and makes it possible to sign typed data.
4.0.0
- The external account_Ecrecover-method was removed.
- The external account_Import-method was removed.
3.0.0
- The external account_List-method was changed to not exposeurl, which contained info about the local filesystem. It now returns only a list of addresses.
2.0.0
- Commit 73abaf04b1372fa4c43201fb1b8019fe6b0a6f8d, movefromintotransactionobject insignTransaction. This makes theaccounts_signTransactionidentical to the oldeth_signTransaction.
1.0.0
Initial release.