{ "version": "0.1.0", "name": "timelock", "instructions": [ { "name": "create", "accounts": [ { "name": "sender", "isMut": true, "isSigner": true }, { "name": "senderTokens", "isMut": true, "isSigner": false }, { "name": "recipient", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": true }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "recipientTokens", "isMut": true, "isSigner": false }, { "name": "streamflowTreasury", "isMut": true, "isSigner": false }, { "name": "streamflowTreasuryTokens", "isMut": true, "isSigner": false }, { "name": "withdrawor", "isMut": true, "isSigner": false }, { "name": "partner", "isMut": true, "isSigner": false }, { "name": "partnerTokens", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "feeOracle", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "timelockProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "startTime", "type": "u64" }, { "name": "netAmountDeposited", "type": "u64" }, { "name": "period", "type": "u64" }, { "name": "amountPerPeriod", "type": "u64" }, { "name": "cliff", "type": "u64" }, { "name": "cliffAmount", "type": "u64" }, { "name": "cancelableBySender", "type": "bool" }, { "name": "cancelableByRecipient", "type": "bool" }, { "name": "automaticWithdrawal", "type": "bool" }, { "name": "transferableBySender", "type": "bool" }, { "name": "transferableByRecipient", "type": "bool" }, { "name": "canTopup", "type": "bool" }, { "name": "streamName", "type": { "array": [ "u8", 64 ] } }, { "name": "withdrawFrequency", "type": "u64" }, { "name": "pausable", "type": { "option": "bool" } }, { "name": "canUpdateRate", "type": { "option": "bool" } } ] }, { "name": "createUnchecked", "accounts": [ { "name": "sender", "isMut": true, "isSigner": true }, { "name": "senderTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "withdrawor", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "feeOracle", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "timelockProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "startTime", "type": "u64" }, { "name": "netAmountDeposited", "type": "u64" }, { "name": "period", "type": "u64" }, { "name": "amountPerPeriod", "type": "u64" }, { "name": "cliff", "type": "u64" }, { "name": "cliffAmount", "type": "u64" }, { "name": "cancelableBySender", "type": "bool" }, { "name": "cancelableByRecipient", "type": "bool" }, { "name": "automaticWithdrawal", "type": "bool" }, { "name": "transferableBySender", "type": "bool" }, { "name": "transferableByRecipient", "type": "bool" }, { "name": "canTopup", "type": "bool" }, { "name": "streamName", "type": { "array": [ "u8", 64 ] } }, { "name": "withdrawFrequency", "type": "u64" }, { "name": "recipient", "type": "publicKey" }, { "name": "partner", "type": "publicKey" }, { "name": "pausable", "type": "bool" }, { "name": "canUpdateRate", "type": "bool" } ] }, { "name": "createUncheckedWithPayer", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "sender", "isMut": true, "isSigner": true }, { "name": "senderTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "withdrawor", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "feeOracle", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "timelockProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "startTime", "type": "u64" }, { "name": "netAmountDeposited", "type": "u64" }, { "name": "period", "type": "u64" }, { "name": "amountPerPeriod", "type": "u64" }, { "name": "cliff", "type": "u64" }, { "name": "cliffAmount", "type": "u64" }, { "name": "cancelableBySender", "type": "bool" }, { "name": "cancelableByRecipient", "type": "bool" }, { "name": "automaticWithdrawal", "type": "bool" }, { "name": "transferableBySender", "type": "bool" }, { "name": "transferableByRecipient", "type": "bool" }, { "name": "canTopup", "type": "bool" }, { "name": "streamName", "type": { "array": [ "u8", 64 ] } }, { "name": "withdrawFrequency", "type": "u64" }, { "name": "recipient", "type": "publicKey" }, { "name": "partner", "type": "publicKey" }, { "name": "pausable", "type": "bool" }, { "name": "canUpdateRate", "type": "bool" } ] }, { "name": "withdraw", "accounts": [ { "name": "authority", "isMut": false, "isSigner": true }, { "name": "recipient", "isMut": true, "isSigner": false }, { "name": "recipientTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "streamflowTreasury", "isMut": true, "isSigner": false }, { "name": "streamflowTreasuryTokens", "isMut": true, "isSigner": false }, { "name": "partner", "isMut": true, "isSigner": false }, { "name": "partnerTokens", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "cancel", "accounts": [ { "name": "authority", "isMut": false, "isSigner": true }, { "name": "sender", "isMut": true, "isSigner": false }, { "name": "senderTokens", "isMut": true, "isSigner": false }, { "name": "recipient", "isMut": true, "isSigner": false }, { "name": "recipientTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "streamflowTreasury", "isMut": true, "isSigner": false }, { "name": "streamflowTreasuryTokens", "isMut": true, "isSigner": false }, { "name": "partner", "isMut": true, "isSigner": false }, { "name": "partnerTokens", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "transferRecipient", "accounts": [ { "name": "authority", "isMut": true, "isSigner": true }, { "name": "newRecipient", "isMut": true, "isSigner": false }, { "name": "newRecipientTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "topup", "accounts": [ { "name": "sender", "isMut": true, "isSigner": true }, { "name": "senderTokens", "isMut": true, "isSigner": false }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "escrowTokens", "isMut": true, "isSigner": false }, { "name": "streamflowTreasury", "isMut": true, "isSigner": false }, { "name": "streamflowTreasuryTokens", "isMut": true, "isSigner": false }, { "name": "withdrawor", "isMut": true, "isSigner": false }, { "name": "partner", "isMut": true, "isSigner": false }, { "name": "partnerTokens", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "pause", "accounts": [ { "name": "sender", "isMut": false, "isSigner": true }, { "name": "metadata", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "unpause", "accounts": [ { "name": "sender", "isMut": false, "isSigner": true }, { "name": "metadata", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "update", "accounts": [ { "name": "sender", "isMut": true, "isSigner": true }, { "name": "metadata", "isMut": true, "isSigner": false }, { "name": "withdrawor", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "enableAutomaticWithdrawal", "type": { "option": "bool" } }, { "name": "withdrawFrequency", "type": { "option": "u64" } }, { "name": "amountPerPeriod", "type": { "option": "u64" } } ] } ] }