multisig-ui/src/idl/index.ts

300 lines
5.7 KiB
TypeScript

import { Idl } from '@project-serum/anchor';
const idl: Idl = {
"version": "0.0.0",
"name": "multisig",
"instructions": [
{
"name": "createMultisig",
"accounts": [
{
"name": "multisig",
"isMut": true,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "owners",
"type": {
"vec": "publicKey"
}
},
{
"name": "threshold",
"type": "u64"
},
{
"name": "nonce",
"type": "u8"
}
]
},
{
"name": "createTransaction",
"accounts": [
{
"name": "multisig",
"isMut": false,
"isSigner": false
},
{
"name": "transaction",
"isMut": true,
"isSigner": false
},
{
"name": "proposer",
"isMut": false,
"isSigner": true
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "pid",
"type": "publicKey"
},
{
"name": "accs",
"type": {
"vec": {
"defined": "TransactionAccount"
}
}
},
{
"name": "data",
"type": "bytes"
}
]
},
{
"name": "approve",
"accounts": [
{
"name": "multisig",
"isMut": false,
"isSigner": false
},
{
"name": "transaction",
"isMut": true,
"isSigner": false
},
{
"name": "owner",
"isMut": false,
"isSigner": true
}
],
"args": []
},
{
"name": "setOwners",
"accounts": [
{
"name": "multisig",
"isMut": true,
"isSigner": false
},
{
"name": "multisigSigner",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "owners",
"type": {
"vec": "publicKey"
}
}
]
},
{
"name": "changeThreshold",
"accounts": [
{
"name": "multisig",
"isMut": true,
"isSigner": false
},
{
"name": "multisigSigner",
"isMut": false,
"isSigner": true
}
],
"args": [
{
"name": "threshold",
"type": "u64"
}
]
},
{
"name": "executeTransaction",
"accounts": [
{
"name": "multisig",
"isMut": false,
"isSigner": false
},
{
"name": "multisigSigner",
"isMut": false,
"isSigner": false
},
{
"name": "transaction",
"isMut": true,
"isSigner": false
}
],
"args": []
}
],
"accounts": [
{
"name": "Multisig",
"type": {
"kind": "struct",
"fields": [
{
"name": "owners",
"type": {
"vec": "publicKey"
}
},
{
"name": "threshold",
"type": "u64"
},
{
"name": "nonce",
"type": "u8"
},
{
"name": "ownerSetSeqno",
"type": "u32"
}
]
}
},
{
"name": "Transaction",
"type": {
"kind": "struct",
"fields": [
{
"name": "multisig",
"type": "publicKey"
},
{
"name": "programId",
"type": "publicKey"
},
{
"name": "accounts",
"type": {
"vec": {
"defined": "TransactionAccount"
}
}
},
{
"name": "data",
"type": "bytes"
},
{
"name": "signers",
"type": {
"vec": "bool"
}
},
{
"name": "didExecute",
"type": "bool"
},
{
"name": "ownerSetSeqno",
"type": "u32"
}
]
}
}
],
"types": [
{
"name": "TransactionAccount",
"type": {
"kind": "struct",
"fields": [
{
"name": "pubkey",
"type": "publicKey"
},
{
"name": "isSigner",
"type": "bool"
},
{
"name": "isWritable",
"type": "bool"
}
]
}
}
],
"errors": [
{
"code": 100,
"name": "InvalidOwner",
"msg": "The given owner is not part of this multisig."
},
{
"code": 101,
"name": "NotEnoughSigners",
"msg": "Not enough owners signed this transaction."
},
{
"code": 102,
"name": "TransactionAlreadySigned",
"msg": "Cannot delete a transaction that has been signed by an owner."
},
{
"code": 103,
"name": "Overflow",
"msg": "Overflow when adding."
},
{
"code": 104,
"name": "UnableToDelete",
"msg": "Cannot delete a transaction the owner did not create."
},
{
"code": 105,
"name": "AlreadyExecuted",
"msg": "The given transaction has already been executed."
},
{
"code": 106,
"name": "InvalidThreshold",
"msg": "Threshold must be less than or equal to the number of owners."
}
]
};
export default idl;